android - 如何使用字符串作为代码?

标签 android string android-resources

在Android上使用java,我遇到了一个问题:

for(int a = 0; a < 26; a++){
    textViewArray[a] = (TextView) findViewById(R.id.(alphabet[a]));
}

我在一个 xml 文件中有 26 个 TextView,其 ID 为 A、B、C、D、...Z 我需要以上内容才能成为 R.id.A、R.id.B、R.id.C、。 ..R.id.Z 运行时。以上是我的尝试之一,但由于显而易见的原因不起作用。我想过用

int[26] = new int[]{R.id.A, R.id.B, R.id.C .... R.id.Z};

然后在上面的 for 循环中使用这些数组条目,但是有没有更简洁的方法呢?可能将字符串 ( "R.id."+ (alphabet[a]) ) 转换为代码并让它像往常一样运行以查找 id?

附言在上面的例子中,alphabet 是一个包含 A、B、C ... Z 的字符串数组

最佳答案

Resources.getIdentifier() .请记住,此功能非常慢,因此除非万不得已,否则不要使用它。

在您的情况下,我会坚持使用您建议的数组,这是更好的方法。

关于android - 如何使用字符串作为代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20157023/

相关文章:

java - Android 无法在 SD 卡上执行 mkdir()

string - 构造回原始字符串

android - Android本地化:适用于所有语言的字符串资源文件

string - 使用 malloced 字符串创建 Rust 字符串是否安全?

Android 在 hdpi 设备上缩放 hdpi 图像

android - 如何在int中添加字符串? R.string.name+Integer.parse(myindex).不工作

android - 使用 KenBurnsView 定义缩放/平移起始位置

android - 如何设置限制从Android上传图片到数据库MySQL

java - 从android SD卡文件中删除带有问号文本的黑色钻石

c++ - strcmpi 重命名为 _strcmpi?