public class MainActivity extends Activity {
/** Called when the activity is first created. */
//聲明Spinner對象
private Spinner spinner = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//通過ID,得到Spinner對象
spinner = (Spinner) findViewById(R.id.spinnerId);
List<String> list = new ArrayList<String>();
list.add("test1");
list.add("test2");
//調用ArrayAdapter的構造函數來創建ArrayAdapter對象
//第一個參數是指上下文對象
//第二個參數指定了下拉菜單當中每一個條目的樣式
//第三個參數指定了TextView控件的ID
//第四個參數爲整個列表提供數據
ArrayAdapter adapter = new ArrayAdapter(this,R.layout.item,R.id.textViewId,list);
//通過createFromResource方法創建一個ArrayAdapter對象
//第一個參數是指上下文對象
//第二參數引用了在strings.xml文件當中定義的String數組
//第三個參數是用來指定Spinner的樣式,是一個佈局文件ID,該佈局文件由Android系統提供,也可替換爲自己定義的佈局文件
/*ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.planets_array,
android.R.layout.simple_spinner_item);
*/ //設置Spinner當中每個條目的樣式,同樣是引用一個Android系統提供的佈局文件
//adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setPrompt("測試");
//爲spinner對象綁定監聽器
spinner.setOnItemSelectedListener(new SpinnerOnSelectedListener());
}
//這個監聽器主要用來監聽用戶選擇列表的動作
class SpinnerOnSelectedListener implements OnItemSelectedListener{
//當用戶選定了一個條目時,就會調用該方法
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position,
long id) {
String selected = adapterView.getItemAtPosition(position).toString();
System.out.println(selected);
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
// TODO Auto-generated method stub
System.out.println("nothingSelected");
}
}
}