ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, R.array.lsViewArray );
lsViewArray.XML:
<resources>
<string-array name="lsViewArray">
<item>Magenta</item>
<item>Green</item>
<item>Blue</item>
<item>Red</item>
<item>Black</item>
<item>Orange</item>
<item>Purple</item>
<item>Pink</item>
<item>White</item>
<item>Violet</item>
<item>Saffron</item>
<item>Yellow</item>
<item>Brown</item>
</string-array>
</resources>
它给我带来了错误
R.array.lsViewArray
错误:- 类型 id 的预期资源
除了在MainActivity中制作数组还能做什么 我想通过
lsViewArray.xml
访问它
或者我应该知道的其他方法
在当前代码中,您使用 R.array.lsViewArray 作为 textViewResourceId。 textViewResourceId 是要填充的布局资源中的 TextView 的 id。在您的情况下,要填充的布局资源是 android.R.layout.simple_list_item1。它不包含任何 ID 为 R.array.lsViewArray 的 Textview,因此您会收到错误。
要解决此问题,您可以使用接受 T[] 对象的构造函数。
首先,从您的资源中获取数组。为此,请输入:
String[] lsViewArrayData = getResources().getStringArray(R.array.lsViewArray);
然后创建适配器并传递对象 lsViewArrayData:
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(MainActivity.this,
android.R.layout.simple_list_item_1, lsViewArrayData);