首页 > 解决方案 > 如何根据用户输入从可变资源字符串名称填充微调器?

问题描述

我需要根据用户输入(即:水果、蔬菜、动物)从字符串数组资源中填充微调器。

<string-array name="fruits">
   <item>Apple</item>
   <item>Orange</item>
   <item>Mango</item>
</string-array>

<string-array name="vegetables">
   <item>Cabbage</item>
   <item>Lettuce</item>
   <item>Spinach</item>
</string-array>

<string-array name="animals">
   <item>Lion</item>
   <item>Tiger</item>
   <item>Bear</item>
</string-array>

例如,如果输入是“水果”

String input = "fruits";
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(requireActivity(), getContext().getResources().getInteger(getResources().getIdentifier(input, "string-array", getActivity().getPackageName())), android.R.layout.simple_spinner_dropdown_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

但我得到了这个错误:

android.content.res.Resources$NotFoundException: Resource ID #0x0

标签: android

解决方案


推荐阅读