カスタムArrayAdapterを作成したので、ドロップダウンメニューの外観を変更できます。ドロップダウンがどのスピナーに属しているかに応じて、ビューを操作したい。私はparent.getTag()のようなことをすることができると思ったが、nullを返す。アンドロイドのgetDropDownViewメソッドからスピナーIDまたはタグを取得する方法
カスタムアレイアダプタは次のようになります。
class BackgroundColorAdapter extends ArrayAdapter<String> {
BackgroundColorAdapter() {
super(SettingsActivity.this, R.layout.settings_spinner_item, R.id.item_text, textColors);
}
public View getDropDownView (int position, View convertView, ViewGroup parent){
View row=super.getView(position, convertView, parent);
if(parent.getTag().equals("background"){
//Do custom stuff here
}
return(row);
}
}
と私はタグを設定しています:
settingsSpinner.setTag("bg_color_spinner");
settingsSpinner.setAdapter(new BackgroundColorAdapter());
私は、ビュー階層がどのように機能するか混乱しているが、それはすることを論理的と思われると思いますスピナードロップダウンの親がスピナーになります。誰でもドロップダウンがgetDropDownViewでどのスピナーに属しているかを知ることができますか?
編集:settingsSpinner単一スピナーの代わり
Thanks saved my day – kgandroid