android下拉選擇框spinner,android下拉spinner

來源:互聯網
上載者:User

android下拉選擇框spinner,android下拉spinner

spinner是什麼東西呢?有點像下拉式功能表,其實是一個快顯視窗,但是是可以進行進一步操作的快顯視窗。你點擊那個三角形的符號,彈出一個視窗,通常是列表,然後進行操作。

它在xml檔案中的定義和其它控制項沒什麼不一樣,

1  <Spinner2  3      android:id="@+id/spinnerId"4 5      android:layout_width="fill_parent"6  7      android:layout_height="wrap_content"8  9  />

  但是,除此之外,對於spinner的定義還有其它步驟,在string.xml檔案中聲明一個數組,使用string-array來進行聲明,裡面以item的形式裝需要顯示的各種字串,比如音樂的類別等等。

這樣就可以了,然後開始在主程式中開始寫代碼。

首先,跟所有帶有id的控制項一樣,先在主程式中通過findViewById關聯一下spinner,然後就是設定ArrayAdapter,最簡便的方法就是直接利用android官方提供的布局檔案來設定條目的樣式,官方是一個文字加上一個radiobutton 

1 ArrayAdapter<CharSequence>adapter = ArrayAdapter.createFromResource(this,R.array.spinner_test,android.R.layout.simple_spinner_item);

還要設定的就是下拉式功能表的樣式,就是點出來以後的列表的樣式,也是使用官方提供的布局檔案 

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

 設定好了以後就將這個adapter綁定在spinner上面,同時為spinner設定標題(通過setPrompt方法)。      

1 spinner.setAdapter(adapter);2 spinner.setPrompt("標題名稱");

這些都設定好以後就可以正確顯示了,但是我們在實際的程式中需要做的是點擊以後進行下一步的動作,所以要為每一個條目設定監聽器,當某一個條目被點擊的時候,實現某一項功能。

其實這個跟普通的監聽沒有太大區別。無非就是在spinner上面綁定一個監聽器spinner.setOnItemSelectedListener(newSpinnerListener());  //假設監聽類為SpinnerListener

然後再寫一個內部類SpinnerListener,實現OnItemSelectedListener類,其中要實現兩個方法。主要是下面這一個,另一個叫做 publicvoidonNothingSelected(AdapterView<?>arg0)

1 public voidonItemSelected(AdapterView<?>adapterView, View view, int position,2 3 long id) {4 5 String s =adapterView.getItemAtPosition(position).toString(); //這裡就是將條目所包含的字串賦給s6 7 System.out.println(s);   //這裡可以進行進一步的操作,比如進行比較,然後針對不同的字串做出不同操作8 9 }

 

相關文章

聯繫我們

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