1、SpinnerActivity package cn.dccssq; 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; public class SpinnerActivity extends Activity implements Button.OnClickListener, Spinner.OnItemSelectedListener { 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; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); show_yourChoice_TextView = (TextView) findViewById(R.id.TextView_Show_yourChoice); input_City_EditText = (EditText) findViewById(R.id.EditView_Input); Add_Button = (Button) findViewById(R.id.Button_ADD); Del_Button = (Button) findViewById(R.id.Button_DEL); city_Spinner = (android.widget.Spinner) findViewById(R.id.cityItems); cities = new String[] { "Android", "BlackBerry", "J2ME", "Symbian", "Broncho", "LinuxMobile", "Palm", "WindwosMobile" }; cityList = new ArrayList<String>(); for (int i = 0; i < cities.length; i++) { cityList.add(cities[i]); } 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((OnClickListener) this); Del_Button.setOnClickListener((OnClickListener) this); city_Spinner.setOnItemSelectedListener((OnItemSelectedListener) this); } public void onClick(View arg0) { // TODO Auto-generated method stub switch (arg0.getId()) { case R.id.Button_ADD: Toast.makeText(this, "ADD", 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) { arrayAdapter.remove(city_Spinner.getSelectedItem().toString()); input_City_EditText.setText(""); if (arrayAdapter.getCount() == 0) { Toast.makeText(this, "DELETE", Toast.LENGTH_SHORT).show(); show_yourChoice_TextView.setText(""); } } break; default: break; } } public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub show_yourChoice_TextView.setText(arrayAdapter.getItem(arg2)); } public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } @Override public boolean onCreateOptionsMenu(Menu menu) { // TODO Auto-generated method stub menu.add("Exit"); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub finish(); return super.onOptionsItemSelected(item); } } 2、main.xml <LinearLayout android:id="@+id/widget92" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> <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/EditView_Input" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="18sp"> </EditText> <Button android:id="@+id/Button_ADD" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="ADD"> </Button> <Button android:id="@+id/Button_DEL" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="DELETE"> </Button> <Spinner android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/cityItems"> </Spinner> </LinearLayout>