我正在尝试使用字符串资源文件(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>
我看不出我的微调器出现的问题在哪里没有值。
答案 0 :(得分:2)
我的大型工作项目中有一个微调器,它工作得很好 这是我的代码中直接粘贴的代码。
final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(
this,android.R.layout.simple_spinner_dropdown_item,
getResources().getStringArray(R.array.measures));
searchSpinner.setAdapter(arrayAdapter);
希望它有效。
另外,你应该直接将值存储在数组中,而不是在那里使用字符串元素。