У меня есть несколько блесен, для которых я создал собственный ArrayAdapter, чтобы я мог изменить внешний вид выпадающего меню.Я хочу манипулировать видом в зависимости от того, к какому центру относится выпадающий список.Я думал, что смогу сделать что-то вроде parent.getTag (), но он возвращает ноль.
Адаптер пользовательского массива выглядит так:
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?
edit: сделал settingsSpinner одним бланком вместо массива бланков, чтобы сделать его менее запутанным