在android中选择单选按钮时如何确定微调字符串数组列表项?

问题描述

我对如何根据选定的单选按钮确定微调器的数组感到困惑。

所以我有 1 个微调器和 1 个 RadioButtonGroup 包含 2 个 RadioButton。我的情况就像:

  1. 如果选择了 RadioButton_A,则微调器将显示此列表:
<string-array name="spinner_item_a">
    <item>plant 1</item>
    <item>plant 2</item>
    <item>plant 3</item>
</string-array>
  1. 如果选择了 RadioButton_A,则微调器将显示此列表:
 <string-array name="spinner_item_b">
    <item>fruit 1</item>
    <item>fruit 2</item>
    <item>fruit 3</item>
</string-array>

我使用 SharedPreferences 传递 RadioButton 的值,以便微调器可以获取该值。这是我选择的 RadioButton 的代码

onSelectedChapterChange = new RadioGroup.OnCheckedchangelistener() {
            @Override
            public void onCheckedChanged(RadioGroup group,int checkedId) {
                chapters = group.getCheckedRadioButtonId() == R.id.chapter_1_radio_button ? plant : fruit;
                if (chapters.equals(plant))
                    setPrefType = "Plant";
                if (nationality.equals(fruit))
                    setPrefType = "Fruit";
                    SharedPreferences.Editor sPref = context.getSharedPreferences("ChapterTypePref",Context.MODE_PRIVATE).edit();
                    sPref.putString("ChapterInfo",setPrefType);
                    sPref.apply();
            }
        };

这是我的微调监听器:

chapterSelectedListener = new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent,View view,int position,long id) 
             {
            if (position > 0) {
                chapterType = chapterItemValueList.get(position-1);
            }
        }

        @Override
        public void onnothingSelected(AdapterView<?> parent) {

        }
    };

这是我将项目列表设置到适配器中的方法

 private void initChapterSpinner(final Context context,Resources resources) {
        SharedPreferences pref = context.getSharedPreferences("ChapterTypePref",Context.MODE_PRIVATE);
        String chapterPref = pref.getString("ChapterInfo","");
        if (chapterPref == "Plant"){
            chapterItemValueList = new ArrayList<>(Arrays.asList(
                resources.getStringArray(R.array.spinner_item_a)));
        } else if (chapterPref == "Fruit"){
            chapterItemValueList = new ArrayList<>(Arrays.asList(
                resources.getStringArray(R.array.spinner_item_b)));
        }
        
        idTypeArrayAdapter = new IdTypeSpinnerAdapter(context,idTypeItemValueList);

        idTypeArrayAdapter.setDropDownViewResource(R.layout.spinner_dropdown_cdd);
    }

事实证明,微调适配器的列表项变为空。我已经了解了应该如何运行流程的逻辑,但它只是在实现它时令人困惑。请帮助我,谢谢:D

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...