Package com. turboradio. googlesdk;
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. EditText;
Import android. widget. Spinner;
Import android. widget. TextView;
Public class Ex04_09_Spinner extends Activity {
Private static final String [] countriesStr = {
"Beijing", "Shanghai", "Tianjin", "Chongqing"
};
Private TextView myTextView;
Private EditText myEditText;
Private Spinner mySpinner;
Private ArrayAdapter <String> adapter;
Private List <String> allCountries;
@ Override
Protected void onCreate (Bundle savedInstanceState ){
Super. onCreate (savedInstanceState );
SetContentView (R. layout. ex_04_09 );
AllCountries = new ArrayList <String> ();
For (int I = 0; I <countriesStr. length; I ++ ){
AllCountries. add (countriesStr [I]);
}
Adapter = new ArrayAdapter <String> (this, android. R. layout. simple_spinner_item, allCountries );
/** Set the Item style **/
Adapter. setDropDownViewResource (android. R. layout. simple_spinner_item );
MyTextView = (TextView) findViewById (R. id. text1 );
MyEditText = (EditText) findViewById (R. id. edit );
MySpinner = (Spinner) findViewById (R. id. spinner );
MySpinner. setAdapter (adapter );
MySpinner. setOnItemSelectedListener (new Spinner. OnItemSelectedListener (){
Public void onItemSelected (AdapterView <?> Parent, View view,
Int position, long id ){
MyTextView. setText (parent. getSelectedItem (). toString ());
}
Public void onNothingSelected (AdapterView <?> Arg0 ){
// TODO Auto-generated method stub
}});
}
/**
* Add button event
*/
Public void addSpinnerItem (View v ){
String newCountry = myEditText. getText (). toString ();
/** First judge whether the value exists and add it if it does not exist **/
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 ("");
}
}
/**
* Delete button events
*/
Public void removeSpinnerItem (View v ){
If (mySpinner. getSelectedItem ()! = Null ){
/** Delete the value of mySpinner **/
Adapter. remove (mySpinner. getSelectedItem (). toString ());
MyEditText. setText ("");
If (adapter. getCount () = 0 ){
MyTextView. setText ("");
}
}
}
}
<? Xml version = "1.0" encoding = "UTF-8"?>
<LinearLayout 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/text1"
Android: layout_width = "fill_parent"
Android: layout_height = "wrap_content"
/>
<EditText
Android: id = "@ + id/edit"
Android: layout_width = "fill_parent"
Android: layout_height = "wrap_content"
/>
<Button
Android: id = "@ + id/add"
Android: layout_width = "fill_parent"
Android: layout_height = "wrap_content"
Android: text = "add"
Android: onClick = "addSpinnerItem"
/>
<Button
Android: id = "@ + id/delete"
Android: layout_width = "fill_parent"
Android: layout_height = "wrap_content"
Android: text = "delete"
Android: onClick = "removeSpinnerItem"
/>
<Spinner
Android: id = "@ + id/spinner"
Android: layout_width = "fill_parent"
Android: layout_height = "wrap_content"
/>
</LinearLayout>