Android:使用String资源文件填充Spinner

时间:2017-09-23 18:07:22

标签: android

我正在尝试使用字符串资源文件(strings.xml)使用数组的值填充Spinner,但不知道为什么,Spinner显示没有值。

Java代码:

String[] measures = new String[]{};
Resources res = getResources();
Spinner sp1 = (Spinner) findViewById(R.id.spinner);

measures = res.getStringArray(R.array.measures);
List<String> list_measures = new ArrayList<String>(Arrays.asList(measures));

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list_measures);
       adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp1.setAdapter(adapter);

的strings.xml

<resources>
    <string name="days">Days(d)</string>
    <string name="hours">Hours(h)</string>
    <string name="minutes">Minutes(min)</string>
    <string name="seconds">Seconds(s)</string>
 </resources>

arrays.xml

<resources>
    <string-array name="measures">
        <item>@string/days</item>
        <item>@string/minutes</item>
        <item>@string/seconds</item>
        <item>@string/hours</item>
    </string-array>
</resources>

我看不出我的微调器出现的问题在哪里没有值。

1 个答案:

答案 0 :(得分:2)

我的大型工作项目中有一个微调器,它工作得很好 这是我的代码中直接粘贴的代码。

      final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(
                this,android.R.layout.simple_spinner_dropdown_item,
                getResources().getStringArray(R.array.measures));
      searchSpinner.setAdapter(arrayAdapter);

希望它有效。
另外,你应该直接将值存储在数组中,而不是在那里使用字符串元素。