1

以下のようなアイテムのスピナーがあります

ArrayAdapter<Message> arrayadapter = new ArrayAdapter<Message>(activity, android.R.layout.simple_spinner_item, messages);
                arrayadapter.setDropDownViewResource(R.layout.textview);

リストアイテムに代替色を付けたい.どうすればいいですか.どんな助けも大歓迎です.

4

3 に答える 3

2

使用できます

ArrayAdapter<CharSequence> adapter =
    new ArrayAdapter(this, R.layout.simple_spinner_item, myList) {
    @Override
    public View getDropDownView(int position, View convertView, ViewGroup parent) {
        View view = super.getDropDownView(position, convertView, parent);
        if (position % 2 == 0) { // we're on an even row
           view.setBackgroundColor(evenColor);
        } else {
           view.setBackgroundColor(oddColor);
        }
       return view;
    }
}
于 2013-02-25T10:24:20.067 に答える
1

選択したカスタムスピナーを作成するのに役立つ可能性のあるリンクを次に示します。

1)http://adanware.blogspot.in/2012/03/android-custom-spinner-with-custom.html
2)http://www.edureka.in/blog/custom-spinner-in-android/
3 )「ドロップダウン状態」と「クローズ状態」のレイアウトが異なるAndroid Spinner?

于 2013-02-25T10:35:10.557 に答える
0

こんにちは、次のコードを使用できます

 @Override
       public View getDropDownView(int position, View convertView, ViewGroup parent){
            View v = convertView;
            if (v == null) {
               Context mContext = this.getContext();
               LayoutInflater vi = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = vi.inflate(R.layout.row, null);
         } 
    TextView tv=(TextView) v.findViewById(R.id.spinnerTarget);
    tv.setText(testarray.get(position));
    switch (position) {
    case 0:  tv.setTextColor(Color.RED);  
    break; 
    case 1:  tv.setTextColor(Color.BLUE);
    break;
    default:  tv.setTextColor(Color.BLACK);
    break;
    }
return v;  
              }              
       };     
       pSpinner.setAdapter(spinnerAdapter); 
} 
于 2013-02-25T10:37:38.723 に答える