Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android:Spinner(下拉框)控件的使用

android:Spinner(下拉框)控件的使用

編輯:關於Android編程

1.效果圖

clip_image002[10]

2.創建頁面文件(main.xml)

     
 
     

3.創建下拉框的數據源

        List list = new ArrayList();
        list.add("蘋果"); 
        list.add("香蕉"); 
        list.add("橘子"); 
        list.add("香蕉");

4.創建適配器(下拉框的數據源是來自適配器)

ArrayAdapter adapter=new ArrayAdapter(this, android.R.layout.simple_spinner_item,list);

5.為適配器添加樣式

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

系統提供的樣式如下

l simple_spinner_dropdown_item(列表-間距較高比較好看)

clip_image004[10]

l simple_spinner_item(列表-間距緊湊不好看)

clip_image006[10]

l simple_list_item_checked(復選框-選中的有綠溝)

clip_image008[10]

l simple_list_item_single_choice (單選按鈕)

clip_image010[10]

6.向控件Spinner添加適配器

Spinner sp=(Spinner) findViewById(R.id.spinner1);

       sp.setAdapter(adapter); 


釋義

1. setAdapter(SpinnerAdapteradapter) ,從類的繼承關系上看,ArrayAdapter是SpinnerAdapter接口的間接實現類

clip_image012[10]

7.實現選擇項事件(使用匿名類實現接口)

		sp.setOnItemSelectedListener(new OnItemSelectedListener() {
			// parent: 為控件Spinner   view:顯示文字的TextView   position:下拉選項的位置從0開始  
			public void onItemSelected(AdapterView parent, View view, int position, long id) {
				TextView tvResult = (TextView) findViewById(R.id.tvResult);
				//獲取Spinner控件的適配器
				ArrayAdapter adapter = (ArrayAdapter) parent.getAdapter();
				tvResult.setText(adapter.getItem(position));
			}
             //沒有選中時的處理
			public void onNothingSelected(AdapterView parent) {
			}
		});

8.後台整體代碼如下

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		List list = new ArrayList();
		list.add("蘋果");
		list.add("香蕉");
		list.add("橘子");
		list.add("香蕉");
		ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, list);
		adapter.setDropDownViewResource(android.R.layout.simple_list_item_single_choice);
		Spinner sp = (Spinner) findViewById(R.id.spinner1);
		sp.setAdapter(adapter);
		sp.setOnItemSelectedListener(new OnItemSelectedListener() {
			// parent: 為控件Spinner   view:顯示文字的TextView   position:下拉選項的位置從0開始  
			public void onItemSelected(AdapterView parent, View view, int position, long id) {
				TextView tvResult = (TextView) findViewById(R.id.tvResult);
				//獲取Spinner控件的適配器
				ArrayAdapter adapter = (ArrayAdapter) parent.getAdapter();
				tvResult.setText(adapter.getItem(position));
			}
             //沒有選中時的處理
			public void onNothingSelected(AdapterView parent) {
			}
		});
	}


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved