【发布时间】:2011-07-26 14:34:51
【问题描述】:
我有几个微调器,我为其创建了一个自定义 ArrayAdapter,因此我可以更改下拉菜单的外观。我想根据下拉列表所属的微调器来操纵视图。我以为我可以做类似 parent.getTag() 的事情,但它返回 null。
自定义数组适配器如下所示:
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 设为单个微调器,而不是一组微调器,以减少混乱
【问题讨论】:
标签: android drop-down-menu spinner parent