Android中簡單實現Spinner的數據綁定


 

     Spinner在android中通常用來實現下拉列表,但可惜的是Spinner沒有直接實現類似text-value這樣的自動綁定功能。某些情況下,列表展示的文本並不是我們想要取得的值,這樣就需要手動實現數據綁定。首先用2個數組來分別表示顯示的文本和要取的值,代碼如下:

    private final static String[] texts = {"張三", "李四", "王五"};
    private final static int[] values = {1, 2, 3};
    private Spinner spinner;  
    private ArrayAdapter<String> adapter;

  這里texts是下拉列表中顯示的文本,values是根據列表選定后指定的值。接着就是實現Spinner了,代碼如下:

        spinner = (Spinner)findViewById(R.id.spinner);  
        //綁定要顯示的texts 
        adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, texts);            
        //設置下拉列表的風格         
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter); spinner.setOnItemSelectedListener(new SpinnerSelectedListener()); spinner.setVisibility(View.VISIBLE); class SpinnerSelectedListener implements OnItemSelectedListener{ public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { //利用數組中的對應位置取得values中需要的值 int Id = values[arg2]; } } }

    另外,也可以用spinner.getSelectedItem().toString()來取得選定的文本,或者用spinner.getSelectedItemPosition()來取得選定文本的位置,從而可以用values[spinner.getSelectedItemPosition()]來取得對應的值。

    如果你的列表數據是動態獲得的。可以使用ArrayList代替數組來動態添加。


免責聲明!

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



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