創建一個Spinner的步驟
1、在佈局文件當中聲明:
<Spinnerandroid:id= “@+id/spinnerId”android:layout_width= “fill_parent”android:layout_height= “wrap_content”/>
2、在strings.xml當中聲明一個數組:
<string-arrayname=”planets_array”>
<item>Mercury</item>
<item>Mars</item>
<item>Earth</item>
</string-array>
3、創建一個ArrayAdapter:
ArrayAdapter<CharSequence>adapter = ArrayAdapter.createFromResource(this, R.array.planets_array,android.R.layout.simple_spinner_item); //第一個參數是上下文對象,第二個參數引用了在strings.xml文件當中定義的String數組,第三個參數是用來指定Spinner的樣式,是一個佈局文件ID
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);//設置Spinner當中每個條目的樣子,同樣是引用一個Android系統提供的布局文件
spinner.setAdapter(adapter);
4、得到Spinner對象,並設置數據:
Spinner =(Spinner)findViewById(R.id.spinnerId);
Spinner.setAdapter(adapter);
Spinner.setPrompt(“測試”); //下拉時顯示的標題
5、創建一個監聽器OnItemSelectedListener
ClassSpinnerOnSelectedListener implements OnItemSelectedListener{
@Override
public voidonItemSelected(AdapterView<?> adapterView, View view, int position, longid){
{
String selected = adapterView.getItemAtPosition(position).toString();
}
@Override
public voidonNothingSelected(AdapterView<?> adapterView)
{
}
}
ArrayAdapter的另一種用法:
除了從可以使用strings.xml文件當中的數組創建ArrayAdapter之外,還可以動態的創建ArrayAdapter
List<String>list = new ArrayList<String>();
list.add(“test1”);
list.add(“test2”);
ArrayAdapteradapter = new ArrayAdapter(this, R.layout.item, R.id.textViewId, list);
//第二個參數指定了下拉菜單中每一個條目的樣式,第三個參數指定TextView控件的ID,第四個參數為整個列表指供數據