package irdc.ex04_09;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
public class EX04_09 extends Activity
{
private static final String[] countriesStr =
{ "成都", "北京", "上海", "香港" };
private TextView myTextView;
private EditText myEditText;
private Button myButton_add;
private Button myButton_remove;
private Spinner mySpinner;
private ArrayAdapter<String> adapter;
private List<String> allCountries;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
/* 载入main.xml Layout */
setContentView(R.layout.main);
allCountries = new ArrayList<String>();
for (int i = 0; i < countriesStr.length; i++)
{
allCountries.add(countriesStr[i]);
}
/* new ArrayAdapter传入allCountries */
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, allCountries);
adapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
/* findViewById()取得对象 */
myTextView = (TextView) findViewById(R.id.myTextView);
myEditText = (EditText) findViewById(R.id.myEditText);
myButton_add = (Button) findViewById(R.id.myButton_add);
myButton_remove = (Button) findViewById(R.id.myButton_remove);
mySpinner = (Spinner) findViewById(R.id.mySpinner);
/* 将ArrayAdapter添加到Spinner对象中 */
mySpinner.setAdapter(adapter);
/* 给myButton_add添加OnClickListener */
myButton_add.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View arg0)
{
String newCountry = myEditText.getText().toString();
/* 比较值是否已经存在,不存在再添加 */
for (int i = 0; i < adapter.getCount(); i++)
{
if (newCountry.equals(adapter.getItem(i)))
{
return;
}
}
if (!newCountry.equals(""))
{
/* 重要的方:将值添加进adapters*/
adapter.add(newCountry);
/* 取得添加值的位子 */
int position = adapter.getPosition(newCountry);
/* 将spinner指定在添加的位子 */
mySpinner.setSelection(position);
/* 将myEditText清空 */
myEditText.setText("");
}
}
});
/* 将myButton_remove添加OnClickListener */
myButton_remove.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View arg0)
{
if (mySpinner.getSelectedItem() != null)
{
/* 删除mySpinner现在指定的数值 */
adapter.remove(mySpinner.getSelectedItem().toString());
/* 将myEditText清空 */
myEditText.setText("");
if (adapter.getCount() == 0)
{
/* 将myTextView清空 */
myTextView.setText("");
}
}
}
});
/* 将mySpinner添加OnItemSelectedListener */
mySpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3)
{
/* 将所选的mySpinner的数值放入myTextView中 */
myTextView.setText(arg0.getSelectedItem().toString());
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
}
});
}
}
分享到:
相关推荐
android 动态添加删除的Spinner菜单 ArrayList与Widget的依赖性
className: 'spinner', // The CSS class to assign to the spinner zIndex: 2e9, // The z-index (defaults to 2000000000) top: 'auto', // Top position relative to parent in px left: 'auto' // Left ...
与第三方组件兼容,并与可选内置组件包装在一起Spinner仅1.5KB缩小并压缩为ESM,CommonJS,UMD版本安装npm install --save vue-promise-btn快速入门:使用vue导入和“握手”插件从'vue'导入Vue从'vue-promise-btn...
资源分类:Python库 所属语言:Python 资源全名:click_spinner-0.1.5-py2.7.egg 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
NULL 博文链接:https://676744379-qq-com.iteye.com/blog/1124014
NULL 博文链接:https://c-zhiwu.iteye.com/blog/1407930
NULL 博文链接:https://txlong-onz.iteye.com/blog/826553
用途及功能: https://github.com/joarhem/Matlab-Loading-Spinner
在spinner上添加删除项,删除选中的spinner选项,添加的新选项到spinner的最后一项,下拉框停留在新添加的好的选项上
安装使用NPM:$ npm install react-loader-spinner --save使用纱$ yarn add react-loader-spinner导入所需CSS import "react-loader-spinner/dist/loader/css/react-spinner-loader.css" ;演示版[在页面中查看]用法 ...
- Spinner - Switch - Time Other: - Paginator - Progressbar - Sidebar - Tooltip - Style (Skins) support Interactions: - Bring to Front - Draggable - Drag and Drop support - Resizable
Vue装载机 + vueNPM $ npm install -S vue-loadersCDN umd: : esm / mjs: ://unpkg.com/vue-loaders/dist/vue-loaders.esm.js umd: https://unpkg.com/vue-loaders/dist/loaders/ : ...
NULL 博文链接:https://sarin.iteye.com/blog/1669773
微调器 Angular 10,Bootstrap和Font-awsome中的...import { SpinnerModule } from "./shared/spinner/spinner.module" ; @ NgModule ( { imports : [ // ... SpinnerModule , ] , schemas : [ ] , } ) export c
角宝叠加旋转器 当绑定为真时,将微调器添加到... 将treasure-overlay-spinner添加为角度模块依赖项 用法 angular . module ( 'example' , [ 'treasure-overlay-spinner' ] ) ; angular . module ( 'example' ) . run
受Bubble Spinner启发的浏览器中JavaScript游戏(请参见下面的链接)。 指示 要安装依赖项: $ npm install 启动开发服务器: $ npm start 服务器运行后,您可以访问: ...
Spinner自定义xml的样式,需要的用
script src =" bower_components/angular-simple-spinner/angular_simple_spinner.js " > </ script > < link rel =" stylesheet " href =" bower_components/angular-simple-spinner/angular-simple...
QtWaitingSpinner* spinner = new QtWaitingSpinner(this); spinner->setRoundness(70.0); spinner->setMinimumTrailOpacity(15.0); spinner->setTrailFadePercentage(70.0); spinner->setNumberOfLines(12); ...