对Spinner的增加删除。
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <EditText android:layout_height="wrap_content" android:id="@+id/editText" android:layout_width="fill_parent"></EditText> <Button android:text="添加" android:id="@+id/add" android:layout_height="wrap_content" android:layout_width="fill_parent"></Button> <Button android:text="删除" android:id="@+id/del" android:layout_height="wrap_content" android:layout_width="fill_parent"></Button> <Spinner android:id="@+id/spinner" android:layout_width="fill_parent" android:layout_height="wrap_content"></Spinner> </LinearLayout>
package zhang.spinner; import java.util.ArrayList; import java.util.List; 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; public class addSpinner 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); 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); // 取得对象 myTextView = (TextView) findViewById(R.id.textView); myEditText = (EditText) findViewById(R.id.editText); myButton_add = (Button) findViewById(R.id.add); myButton_remove = (Button) findViewById(R.id.del); mySpinner = (Spinner) findViewById(R.id.spinner); // 将ArrayAdapter添加到Spinner对象中 mySpinner.setAdapter(adapter); // 将myButton-add添加OnclickListener 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 adapter.add(newCountry); // 取得添加的值的位置 int position = adapter.getPosition(newCountry); // 将Spinner选择在添加的值的位置 mySpinner.setSelection(position); // 将myEditText清空 myEditText.setText(""); } } }); myButton_add.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View arg0) { // TODO Auto-generated method stub finish(); return false; } }); // myButton-remove添加onclicklistener myButton_remove.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub if (mySpinner.getSelectedItem() != null) { // 删除myspinner的值 adapter.remove(mySpinner.getSelectedItem().toString()); // 将myeditText清空 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 // 将所选的mySpinner的值代入myTextView myTextView.setText(arg0.getSelectedItem() .toString()); } @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } }); } } }
Spinner增删实例
本文介绍了一个使用Spinner组件的示例应用,演示了如何通过按钮点击事件实现数据项的添加和删除功能。该应用允许用户输入新的选项并将其添加到Spinner中,同时也可以从Spinner中移除已有的选项。

被折叠的 条评论
为什么被折叠?



