2010-11-27 11 views
0


通常のSpinner Controlのラジオボタンではなく、左側の画像でドロップダウンリストを表示する必要があるAndroid Appを作成しています。私はスピナーコントロールをカスタマイズしたかったのです。 AndroidのSpinnerをカスタマイズする際に踏むべきステップは何ですか? この問題を解決するためにサンプルコードを提供することはできますか?
私は貴重な返事を待っています。事前に
スピナーアダプターをカスタマイズするには

おかげで、

+0

こんにちは、この問題を解決するのに役立つ人はいませんか? –

+0

あなたはいくつかのスクリーンショットを追加することができますか? –

+0

ドロップダウンリストビューである必要があります。一般的にはListViewにはRadioButtonsはありません。ドロップダウンリストの形式で表示されるのは、ラジオボタンだけです。デフォルトではスピナーが付いています –

答えて

3

スピナーポップアップ項目は、完全にカスタマイズ可能です。 ArrayAdapterを拡張して<T>とし、getDropDownViewメソッドをオーバーライドします。このメソッドは各アイテムに対して呼び出されます。 Tタイプは、あなたがあなたのアダプターに与えるどんなタイプでもあります。

/** Expands the view and setup with the view for each item in spinner popup **/ 
@Override 
public View getDropDownView(int position, View view, ViewGroup parent) { 
    T choice = getItem(position); 

    if (view == null) { 
     LayoutInflater vi = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

     // expand your list item here 
     view = vi.inflate(R.layout.mylistitem, null); 
    } 
    if(choice != null) { 
     // get whatever items are in your view 
     TextView text = (TextView) view.findViewById(R.id.text); 
     ImageView left = (ImageView) view.findViewById(R.id.leftImage); 

     // do whatever you want with your item view 
    } 
    return(view); 
} 

アダプターのgetViewをオーバーライドして、メインのスピナーコントロールの表示を設定します。あなたは選択とポップアップの両方が同じ外観を持つように1つのコールをもう1つ呼び出すことができます。