Tor*_*ori 1 android multidimensional-array
在一个arrays.xml文件中,在res文件夹中,定义了几个数组:
<string-array name="all">
<item> a1 </item>
<item> a2 </item>
</string-array>
<string-array name="a1">
<item> x </item>
<item> y </item>
</string-array>
<string-array name="a2">
<item> z </item>
<item> t </item>
</string-array>
Run Code Online (Sandbox Code Playgroud)
我想将"all"数组和序列读入依赖于"all"中的选择的a1或a2数组,而不必构建switch/case语句(真正的数组更复杂).代码看起来像这样,但Java/Android抱怨第二行.它希望R.array像R.array.a1或R.array.a2一样是常数而不是变量.
是否可以执行以下操作(第2行),
String[] temp_items = getResources().getStringArray(R.array.all1);
String[] items = getResources().getStringArray(R.array.temp_items[0]);
Run Code Online (Sandbox Code Playgroud)
我也可以通过将数组放在java中的实用程序类中并绕过arrays.xml文件来解决这个问题.
这可能吗?a1 a2
<string-array name="a1">
<item> x </item>
<item> y </item>
</string-array>
<string-array name="a2">
<item> z </item>
<item> t </item>
</string-array>
Run Code Online (Sandbox Code Playgroud)
小智 5
我希望这段代码有用.您可以通过resourceName从函数getIdentifier()获取resourceID.
for(int i = 1; i < 3; i++)
{
int arrayID = getResources().getIdentifier("a" + i,"array",getPackageName());
items[i] = getResources().getStringArray(arrayID);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6659 次 |
| 最近记录: |