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

來源:互聯網
上載者:User

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

1.

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(列表-間距較高比較好看)

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

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

l simple_list_item_single_choice (選項按鈕)

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

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

       sp.setAdapter(adapter); 


釋義

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

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) {}});}


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.