2014-02-09 26 views
0

我想基于像另一个阵列点击位置获取数组:如何基于另一个阵列位置获取数组?在Android的

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

,我用这个时候得到一个错误:我认为该错误,行int开始....

+0

在运行时(“R.array。” +名)将形成一个字符串不是整数。在创建apk包期间,每个资源都会分配一个int id。 – AndRSoid

+0

为什么你这样做,你可以直接得到字符串? – keshav

+0

所以我不能使用这种方法!? ,而且我必须将案件换成35个以上的阵列!? –

回答

0

您可以使用android.content.res.ResourcesgetIdentifier方法。有关详细信息,请参阅the documentation

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

+0

非常感谢,这解决了我的问题并节省了大量的时间 –

0

你知道你在做什么?首先了解你的代码

getStringArray(R.array.nissan); 在整型参数,我们应该通过

您试图通过使用整数字符串转换成int是完全错误的

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

检索它

当你写(R.Array.nissan) 然后链接R.java文件和文件返回整数

相关问题