如何在android中使用动态字符串名称访问字符串(类似于javascript中的eval)?

我正在尝试使用动态名称访问字符串变量,具体取决于我的图库位置.要使用固定名称获取字符串的值,我使用以下哪个很好(该字符串称为pic1info):
String strTest = getResources().getString(R.string.pic1info);

我的字符串被命名为pic1info,pic2info,pic3info等,我想替换pic1info的静态定义以包含位置,因此传递以下字符串的内容代替上面的pic1info,以便根据当前位置返回不同的字符串:

String strDynamicStringName= "pic" + position + "info";

在javascript中,等价物将是eval,我确信有一种简单的方法可以做到这一点,但我无法弄清楚如何!

非常感谢您的帮助!

戴夫

解决方法

不,在Java中没有简单的方法可以做到这一点,但您可以创建一个int数组,其中每个索引代表该字符串的R值.
private static final int[] LOOKUP_TABLE = new int[] {
   R.string.pic1info,R.string.pic2info,R.string.pic3info,R.string.pic4info
};

获得一个字符串将成为:

String strTest = getResources().getString(LOOKUP_TABLE[position]);

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...