android - 如何从android中的getDropDownView方法获取微调器ID或标签

标签 android drop-down-menu spinner parent

我有几个微调器,我为其创建了自定义 ArrayAdapter,因此我可以更改下拉菜单的外观。我想根据下拉列表所属的微调器来操纵 View 。我以为我可以做类似 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());

我想我对 View 层次结构的工作方式感到困惑,但微调器下拉列表的父级应该是微调器似乎是合乎逻辑的。任何人都知道如何在 getDropDownView 中找出下拉列表属于哪个微调器?

编辑:使 settingsSpinner 成为单个微调器而不是一组微调器,以减少混淆

最佳答案

最终使它起作用,例如,这里是更改下拉列表中每个项目的文本字体的代码。

class TextSizeAdapter extends ArrayAdapter<String> {

        TextSizeAdapter() {
            super(SettingsActivity.this, R.layout.settings_spinner_item, R.id.item_text, textSizes);
        }

        public View getDropDownView (int position, View convertView, ViewGroup parent){

            View row=super.getView(position, convertView, parent);
            TextView text = (TextView)row.findViewById(R.id.item_text);
            text.setTextSize(TypedValue.COMPLEX_UNIT_PX,appState.FONTSIZES[position]);
            RadioButton radio = (RadioButton)row.findViewById(R.id.item_radio);
            if(settingsSpinners[2].getSelectedItemPosition() == position){
                radio.setChecked(true);
            }else{
                radio.setChecked(false);
            }

            return(row);
        }
    }

关于android - 如何从android中的getDropDownView方法获取微调器ID或标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6831720/

相关文章:

java - 如何在右侧和左侧制作应用程序抽屉?安卓

php - android、json、php、mysql中保存并获取汉字数据。

当鼠标悬停在包装 div 之外时,CSS 下拉菜单不会显示

cypress - 如果元素存在等待它消失

android - 如何使用 simplecursoradapter 按 id 在特定项目上定位(选择)微调器?

android - 无法在发布 apk 的 android studio 中使用 linkedin 登录?

android - image_picker_android :debugUnitTestRuntimeClasspath

javascript - CSS:带有下拉菜单的粘性导航栏未显示(-溢出)?

javascript - 动态更改子菜单的标题

react-native - 使用 axios 在 react-native 中添加全局微调器