一分鐘掌握Android spinner下拉框

//Android 自帶的spinner下拉框控件是一個不錯的系統控件,主要有兩種實現方式:
//數據可以放在res\values中添加一個city資源數組文件使用ArrayAdapter  2.數據放入容器集合自定義Adapter

 2 <resources>
 3 
 4     <string-array name="city">
 5         <item>北京</item>
 6         <item>上海</item>
 7         <item>廣州</item>
 8         <item>廈門</item>
 9     </string-array>
10 
11 </resources>

//設置代碼
Spinner sp = (Spinner) findViewById(R.id.spinner1);
	sp.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {
		@Override
		public void onItemSelected(AdapterView<?> arg0, View arg1,
				int arg2, long arg3) {
			Log.e("arg2",arg2);//position id
		}
		@Override
		public void onNothingSelected(AdapterView<?> arg0) {
		}
	});
	ArrayAdapter adapter =ArrayAdapter.createFromResource(this,R.array.city,android.R.layout.simple_spinner_dropdown_item);
	sp.setAdapter(adapter);
	sp.setSelection(0);//默認選擇第一項
/////////////////////////////////////////////////
ArrayList<String> al=new ArrayList<String>();
	al.add("北京");
	al.add("上海");
	Spinner sp = (Spinner)findViewById(R.id.spinner1);
	sp.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {
		@Override
		public void onItemSelected(AdapterView<?> arg0, View arg1,
				int arg2, long arg3) {
			Log.e("arg2",arg2);//position id
		}
		@Override
		public void onNothingSelected(AdapterView<?> arg0) {
		}
	});
	ArrayAdapter<String> adapter =new ArrayAdapter<String>(this,android.R.layout.simple_spinner_dropdown_item,al);//加圖片可自定義適配器
	sp.setAdapter(adapter);
	sp.setSelection(1);//默認選擇第二項

//注:setAdapter()方法添加的時機必須在容器集合獲取到相關數據後,否則spinner內容無法顯示;

//spinner.setPrompt()設置標題 佈局xml需要爲 style="@android:style/Widget.Spinner" 

//setSelection()方法在setAdapter後執行,否則無法選擇指定項;初始化時不選中setSelection(0,true);

//資源文件轉數組:getResources().getStringArray(R.array.x);


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章