第一步:添加一個下拉列表項的list,這裏添加的項就是下拉列表的菜單項:
private List<String> list = new ArrayList<String>();
list.add("北京");
list.add("上海"); ==========》》數據源
list.add("廣州");
list.add("深圳");
第二步:爲下拉列表定義一個數組適配器(ArrayAdapter),這裏就是用到了前面定義的list。
adaoter = new ArrayAdapter<String> (this,android.R.layout.simple_apinner.item,list); ====》》定義適配器,添加數據源
第三步:爲適配器添加到下拉列表時的菜單樣式。
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
第四步:將適配器添加到下拉列表上 --------------------》spinner加載適配器
mySpinner.setAdapter(adapter);
第五步:爲下拉列表設置各種事件的相應,這個事件相應菜單被選中
mySpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener()) --------------->爲spinner設置監聽器
下面是一個小示例:
一個佈局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<TextView
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000"
android:textSize="20dp"/>
<Spinner
android:id="@+id/spinner"
android:layout_below="@id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#345"/>
</RelativeLayout>
一個java類:
public class MainActivity extends Activity implements OnItemSelectedListener{
private String cityName;
private TextView text;
private Spinner spinner;
private List<String> list;
private ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text = (TextView) findViewById(R.id.text);
spinner = (Spinner) findViewById(R.id.spinner);
//1.設置數據源
list = new ArrayList<String>();
list.add("北京");
list.add("上海");
list.add("廣州");
list.add("深證");
//2.新建ArrayAdapter(數組適配器)
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, list);
//3.adapter設置一個下拉表樣式
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//4.spinner加載適配器
spinner.setAdapter(adapter);
//5,spinner設置監聽器
spinner.setOnItemSelectedListener(this);
}
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
cityName = list.get(arg2);
text.setText("您選擇的城市是:" + cityName);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}