【问题标题】:Read array.xml from result array从结果数组中读取 array.xml
【发布时间】:2017-11-15 10:27:58
【问题描述】:

arrays.xml 有问题。

我想从数组中读取数组。

String[] arrKraje = getResources().getStringArray(R.array.Slovakia);
String[] arrMesto = getResources().getStringArray(R.array.arrKraje[0]);

我可以做类似 ↑ 的东西吗?

如果是这样,怎么做?

谢谢。

我想从另一个数组[string]的结果数组中读取数据


<string-array name="Slovakia">
        <item>Bratislavský</item>
        <item>Trnavský</item>
        <item>Trenčiansky</item>
        <item>Nitriansky</item>
        <item>Žilinský</item>
        <item>Banskobystrický</item>
        <item>Prešovský</item>
        <item>Košický</item>
    </string-array>

    <string-array name="Bratislavský">
        <item>Bratislava I</item>
        <item>Bratislava II</item>
        <item>Bratislava III</item>
        <item>Bratislava IV</item>
        <item>Bratislava V</item>
        <item>Malacky</item>
        <item>Pezinok</item>
        <item>Senec</item>
    </string-array>

【问题讨论】:

  • 粘贴你的arrays.xml
  • 这种类型的数组可以使用hashmap或者arraylist实现
  • 它是常量数组。地区城镇和国家地区

标签: java android arrays xml multidimensional-array


【解决方案1】:

使用getIdentifier方法:

String[] arrKraje = getResources().getStringArray(R.array.Slovakia);

int identifier = getResources().getIdentifier(arrKraje[0] , "array" , getPackageName());

String[] arrMesto = getResources().getStringArray(identifier);

【讨论】:

  • 什么是包名?
  • *好的,我使用 getActivity().getPacageName() 但这代码是什么原因?
  • getIdentifier 返回字符串数组的标识符: String[] arrMesto = getResources().getStringArray(getResources().getIdentifier(arrKraje[0] , "string" , getPackageName()));
  • 我想使用更多的数组。第一个数组,例如学校的班级。我选择索引 0 例如 3.A 和第二个数组,它是 3.A 中学生姓名的数组。我想从数组中读取名称,但我不知道如何类。当我选择 1. index 时,我想从 3.A 中读取,但是当我选择 2. index 时,我想从 4.B 中读取。
【解决方案2】:

是的,你可以, 您必须引用另一个数组 string.xml

例如;

<string-array name="Slovakia">
  <item>@string/Bratislavský</item>
  <item>Bratislavský</item>
  <item>Trnavský</item>
  <item>Trenčiansky</item>
  <item>Nitriansky</item>
  <item>Žilinský</item>
  <item>Banskobystrický</item>
  <item>Prešovský</item>
  <item>Košický</item>
</string-array>

 <string-array name="Bratislavský">
    <item>Bratislava I</item>
    <item>Bratislava II</item>
    <item>Bratislava III</item>
    <item>Bratislava IV</item>
    <item>Bratislava V</item>
    <item>Malacky</item>
    <item>Pezinok</item>
    <item>Senec</item>
</string-array>

Java 代码:

String[] arrMesto = getResources().getStringArray(R.array.    arrKraje[0]      );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-23
    • 1970-01-01
    • 1970-01-01
    • 2015-10-19
    • 2017-09-30
    • 1970-01-01
    • 2011-07-09
    • 1970-01-01
    相关资源
    最近更新 更多