2013-02-04 85 views
1

我目前正在Android中實現一個微調,並且無法獲得兩個數組與Spinner連接 - 當微調不擴展時,以及當它是一個時。擴展微調項目

因此,微調應該是這樣的,當沒有展開它: Small Spinner

當它展開的陣列連接到它從字符串到長版本的縮短版的變化。 Expanded Spinner

我已經想過改變陣列時微調被觸摸,然後改變它回來時,它取消了,但我認爲這將最終被凌亂,或以其他方式創建一個按鈕,看起來像一個微調,這打開一個自定義的ListView對話框來充當一個自定義的Spinner,但是這看起來像是矯枉過正。有更容易的方法嗎?

回答

1

你可以實現你自己的適配器來達到這個效果。重寫getView()返回您的「展開」視圖,並getDropDownView()返回您的「摺疊」視圖。不要忘記利用convertView。

ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), 0, objects) { 
     @Override 
     public View getDropDownView(int position, View convertView, ViewGroup parent) { 
      //inflate and return the view you want to see as the non-expanded droplist 
     } 

     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
      //inflate and return the expanded view 
     } 
    };