动态添加删除spinner

在activity_main.xml中添加如下

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:id="@+id/widget92"
     xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:orientation="vertical"
    >


    <TextView
        android:id="@+id/TextView_Show_yourChoice"
        android:layout_width="190px"
        android:layout_height="wrap_content"
        android:text="TextView"
        android:textSize="25sp"
        android:layout_gravity="center_horizontal"/>
    <EditText 
        android:id="@+id/EditeView_Input"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        />
    <Button 
        android:id="@+id/Button_ADD"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="添加"
        ></Button>
    <Button 
        android:id="@+id/Button_DEL"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="删除"
        />
<Spinner 
    android:id="@+id/Spinner_Slecte"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    />
</LinearLayout>


添加如下代码:

package com.example.dynamicspinner;



import java.util.ArrayList;
import java.util.List;


import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;


/**
 * 动态添加删除spinner
 * 
 * @author liudd
 * 
 */
public class MainActivity extends Activity implements OnItemSelectedListener,
OnClickListener {
// 声明程序使用的对象


private TextView show_yourChoice_TextView;
private EditText input_City_EditText;
private Button add_Button, del_Button;
private Spinner city_Spinner;
private ArrayAdapter<String> arrayAdapter;
private String[] cities;
private String addString;
private List<String> cityList;


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
show_yourChoice_TextView = (TextView) findViewById(R.id.TextView_Show_yourChoice);
input_City_EditText = (EditText) findViewById(R.id.EditeView_Input);
add_Button = (Button) findViewById(R.id.Button_ADD);
del_Button = (Button) findViewById(R.id.Button_DEL);
city_Spinner = (Spinner) findViewById(R.id.Spinner_Slecte);
/* 初始化字符串数值 */
cities = new String[] { "Android", "BlackBerry", "j2me", "iphone" };
/* 初始化list实例ArrayList对象 */
cityList = new ArrayList<String>();


/* 把字符串数组添加到ArrayList中 */
for (int i = 0; i < cities.length; i++) {
cityList.add(cities[i]);
}


/* 这里必须使用List<>,使用Stirng[]会出错 */
/* 初始化下拉菜单的内容适配器 */
arrayAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, cityList);
/* 设置下拉菜单显示内容风格 */
arrayAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
/* 给下拉菜单对象添加内容 适配器 */
city_Spinner.setAdapter(arrayAdapter);
/* 默认启动时,文本标题显示 */
show_yourChoice_TextView.setText(arrayAdapter.getItem(0));
/* 默认启动时,下拉菜单第一项被选中 */
city_Spinner.setSelection(0);
/* 为按钮添加点击事件监听器 */
add_Button.setOnClickListener(this);
del_Button.setOnClickListener(this);


/* 为下拉菜单添加选项中事件监听器 */
city_Spinner.setOnItemSelectedListener(this);


}


public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
/* 区别按钮来进行不同动作 */
case R.id.Button_ADD:
/* 显示Toast提示 */
Toast.makeText(this, "添加", Toast.LENGTH_SHORT).show();
/* 获得输入框中的将要添加的字符串 */
addString = input_City_EditText.getText().toString();
/* 遍历,比较是否和下拉菜单中的内容重复 */
for (int i = 0; i < arrayAdapter.getCount(); i++) {
if (addString.equals(arrayAdapter.getItemId(i))) {
return;
// 重複了,則跳出
}
}


/* 如果添加字符串不为"" */
if (!addString.equals("")) {


/* 添加进适配器中 */
arrayAdapter.add(addString);
/* 获取刚添加进的字符串位置 */
int post = arrayAdapter.getPosition(addString);
/* 设置刚刚添加进的下拉菜单内容被选中 */
city_Spinner.setSelection(post);
/* 清空输入框 */
input_City_EditText.setText("");
}
break;
case R.id.Button_DEL:
if (city_Spinner.getSelectedItem() != null) {
/* 删除mySpinner的值 */
arrayAdapter.remove(city_Spinner.getSelectedItem().toString());
/* 将myEditText清空 */
input_City_EditText.setText("");
if (arrayAdapter.getCount() == 0) {
/* 将myTexView清空t */
Toast.makeText(this, "删完了", Toast.LENGTH_SHORT).show();


show_yourChoice_TextView.setText("");
}
}
break;
default:
break;
}


}


/**
* 下拉菜單选项被选中事件 处理
*/
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
show_yourChoice_TextView.setText(arrayAdapter.getItem(arg2));


}
/**
 * 未被选中事件处理
 */
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub


}
/**
* 添加Menu菜单 进行退出操作
*/
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add("Exit");
return super.onCreateOptionsMenu(menu);
}
/**
 * Menu菜单 退出
 */
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub

finish();
return super.onOptionsItemSelected(item);
}




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值