【问题标题】:how I can get array based on another array position ? in android如何根据另一个数组位置获取数组?在安卓中
【发布时间】:2014-02-09 08:28:06
【问题描述】:

我想得到一个基于另一个数组点击位置的数组,例如:

String[] nissanArray = getResources().getStringArray(R.array.nissan);
String name = nissanArray[pos];
int nameInt = Integer.parseInt("R.array." + name);
targetArray = getResources().getStringArray(nameInt);

我在使用这个时遇到了一个错误:我相信这个错误是从 Line int .... 开始的。

【问题讨论】:

  • 在运行时 ("R.array." + name) 将形成一个字符串而不是整数。在创建 apk 包的过程中,每个资源都被分配了一个 int id。
  • 你为什么这样可以直接得到字符串?
  • 所以我不能用这个方法!? ,而且我必须为超过 35 个数组切换案例!?

标签: android arrays string int


【解决方案1】:

您可以使用android.content.res.Resources 类的getIdentifier 方法。详情请见the documentation

它允许您将资源名称转换为整数资源 id。

【讨论】:

    【解决方案2】:

    你知道你想要做什么吗?首先了解你的代码

    getStringArray(R.array.nissan); 在那个整数参数中,我们应该传递

    您尝试使用将字符串转换为 int 来传递整数是完全错误的

    它需要在 R.java 文件中提到的整数,它不能用你的语法检索它

    当你写作时 (R.Array.nissan) 然后它链接 R.java 文件并从文件中返回整数

    【讨论】:

      猜你喜欢
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多