android下拉選擇框spinner


spinner是什么東西呢?有點像下拉菜單,其實是一個彈出窗口,但是是可以進行進一步操作的彈出窗口。你點擊那個三角形的符號,彈出一個窗口,通常是列表,然后進行操作。

它在xml文件中的定義和其它控件沒什么不一樣,

1  <Spinner
2  
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的形式裝需要顯示的各種字符串。

<string-array name="times">
<item>30 Seconds</item>
<item>1 Minute</item>
<item>5 Minutes</item>
<item>10 Minutes</item>
<item>15 Minutes</item>
<item>30 Minutes</item>
<item>60 Minutes</item>
</string-array>

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

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

1 ArrayAdapter<CharSequence>adapter = ArrayAdapter.createFromResource(this,R.array.times,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類,其中要實現兩個方法。主要是下面這一個,另一個叫做 public void onNothingSelected(AdapterView<?>arg0)

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM