android sdk---spinner添加删除实例
来源:互联网 发布:91kge网络在线ktv 编辑:程序博客网 时间:2024/06/05 09:19
需求:
选中下拉列表中的选项,textview中显示对应字符串
点击“添加”按钮,将字符串添加到下拉列表中
点击“删除”按钮,将选中字符串从下拉列表中删除
效果图:
代码:
private static final String[] countriesStr={"beijing" ,"shanghai","tianjing"};
protected static final Object NULL = null;
private TextView myTextView;
private EditText myEditText;
private Button myButton_add;
private Button myButton_del;
private Spinner mySpinner;
private ArrayAdapter<String> adapter;
private List<String> allcountries;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/*把字符串添加到list列表中*/
allcountries = new ArrayList<String>();
for(int i = 0; i < countriesStr.length;i++)
{
allcountries.add(countriesStr[i]);
}
/*将allcountries传入给adapter*/
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, allcountries);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
myTextView = (TextView)findViewById(R.id.textView2);
myEditText = (EditText)findViewById(R.id.editText1);
myButton_add = (Button)findViewById(R.id.button1);
myButton_del = (Button)findViewById(R.id.button2);
mySpinner = (Spinner)findViewById(R.id.spinner1);
/*将adapter传给spinner*/
mySpinner.setAdapter(adapter);
myButton_add.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
String newCountry = myEditText.getText().toString();
for(int i = 0; i < adapter.getCount(); i++)
{
if(newCountry.equals(adapter.getItem(i)))
{
return;
}
}
if(!newCountry.equals(""))
{
adapter.add(newCountry);
int position = adapter.getPosition(newCountry);
mySpinner.setSelection(position);
myEditText.setText("");
}
}
});
myButton_del.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(mySpinner.getSelectedItem()!= NULL)
{
adapter.remove(mySpinner.getSelectedItem().toString());
myEditText.setText("");
if(adapter.getCount() == 0)
{
myTextView.setText("");
}
}
}
});
mySpinner.setOnItemSelectedListener(
new Spinner.OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
myTextView.setText(arg0.getSelectedItem().toString());
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
重点:
在下拉列表中删除和添加的动作,其实是在adapter中实现的,spinner随时显示adapter中的信息
数据的传输过程:String->ArrayList->ArrayAdapter->spinner
- android sdk---spinner添加删除实例
- 动态添加删除Spinner
- 动态添加删除spinner
- Android中动态添加╱删除的Spinner菜单
- 动态添加删除 Spinner内容
- 动态添加/删除spinner菜单
- 动态添加/删除Spinner菜单
- Android Spinner实例
- android spinner 简单实例
- 下拉菜单Spinner用法 动态添加删除Spinner菜单项
- Spinner的创建、删除项、添加项
- 动态添加删除Spinner菜单项
- 动态添加/删除Spinner列表选项框
- 动态添加/删除Spinner列表选项框
- android 组件Spinner组件实例
- Android中动态添加╱删除的Spinner菜单 — ArrayList与Widget的依赖性
- Android SDK Tutorials系列 - Hello Views - Spinner
- Android 实例讲解 Spinner样式修改
- Unix: 第15章 重定向和管道
- NOIP2014模拟8.15
- 算法——贪心算法
- 配置文件的读与写 (三 )
- hello MemSQL 入门安装示例
- android sdk---spinner添加删除实例
- 嵌入式高效编程(二)——清晰
- c语言在有序数组中插入一个数,使之依然有序
- android图片异步加载
- 开发感悟
- nyist oj 289 苹果 (动态规划——背包问题)
- LIVE555研究之三:LIVE555基础
- c语言找到数组中最大的成员和下标
- IOS 界面UI 屏幕各个版本分辩率尺寸设计篇