android:Spinner(下拉框)控制項的使用,androidspinner

來源:互聯網
上載者:User

android:Spinner(下拉框)控制項的使用,androidspinner

 

1.

  2.建立分頁檔(main.xml)  

 1     <Spinner 2         android:id="@+id/spinner1" 3         android:layout_width="match_parent" 4         android:layout_height="wrap_content" /> 5  6     <TextView 7         android:id="@+id/tvResult" 8         android:layout_width="match_parent" 9         android:layout_height="wrap_content"10         android:text="選擇的水果" />

3.建立下拉框的資料來源 

1        List<String> list = new ArrayList<String>();2        list.add("蘋果"); 5        list.add("香蕉"); 7        list.add("橘子"); 9        list.add("香蕉");

4.建立適配器(下拉框的資料來源是來自適配器) 

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

5.為適配器添加樣式      

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

 

         系統提供的樣式如下

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

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

 

 

simple_list_item_checked(複選框-選中的有綠溝)

 

 

simple_list_item_single_choice (選項按鈕)

 

 6.向控制項Spinner添加適配器 

1       Spinner sp=(Spinner) findViewById(R.id.spinner1);2       sp.setAdapter(adapter); 

 

     釋義 

     1. setAdapter(SpinnerAdapter adapter) ,從類的繼承關係上看,ArrayAdapter是SpinnerAdapter介面的間接實作類別

 

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

 1         sp.setOnItemSelectedListener(new OnItemSelectedListener() { 2             // parent: 為控制項Spinner   view:顯示文字的TextView   position:下拉選項的位置從0開始   3             public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 4                 TextView tvResult = (TextView) findViewById(R.id.tvResult); 5                 //擷取Spinner控制項的適配器 6                 ArrayAdapter<String> adapter = (ArrayAdapter<String>) parent.getAdapter(); 7                 tvResult.setText(adapter.getItem(position)); 8             } 9              //沒有選中時的處理10             public void onNothingSelected(AdapterView<?> parent) {11             }12         });

8.後台整體代碼如下  

 1     public void onCreate(Bundle savedInstanceState) { 2         super.onCreate(savedInstanceState); 3         setContentView(R.layout.main); 4         List<String> list = new ArrayList<String>(); 5         list.add("蘋果"); 6         list.add("香蕉"); 7         list.add("橘子"); 8         list.add("香蕉"); 9         ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list);10         adapter.setDropDownViewResource(android.R.layout.simple_list_item_single_choice);11         Spinner sp = (Spinner) findViewById(R.id.spinner1);12         sp.setAdapter(adapter);13         sp.setOnItemSelectedListener(new OnItemSelectedListener() {14             // parent: 為控制項Spinner   view:顯示文字的TextView   position:下拉選項的位置從0開始  15             public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {16                 TextView tvResult = (TextView) findViewById(R.id.tvResult);17                 //擷取Spinner控制項的適配器18                 ArrayAdapter<String> adapter = (ArrayAdapter<String>) parent.getAdapter();19                 tvResult.setText(adapter.getItem(position));20             }21              //沒有選中時的處理22             public void onNothingSelected(AdapterView<?> parent) {23             }24         });25     }

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.