android sdk---spinner添加删除实例

需求:

选中下拉列表中的选项,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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值