如何使用String作为id引用字符串数组资源?

时间:2011-08-19 03:29:46

标签: java android xml

为可怕的头衔道歉,但想不出更好的头衔。所以我在strings.xml文件中有很多字符串数组。我希望能够通过将我的意图传递资源id(例如R.array.mystringarray)作为字符串,然后在我的类中使用此字符串来获取我的String []来引用它。以下是我到目前为止试图让您更好地了解我正在尝试的内容

Intent intent = new Intent(Main.this, Categories.class);
intent.putExtra("category", "R.array.Categories");
startActivity(intent);

然后在Categoris.class中:

myArrayID = (String) bundle.get("category");
myArray = getResources().getStringArray(myArrayID)));

我的方法是否可行?还是有另一种我忽略的方式。第一个应用程序,仍在学习绳索

编辑 - 对不起,我的头今晚很油炸,我在这里完全糊涂了。我重写了这个问题 - Converting "R.id.myID" from a String to the int value R.id.myID?

3 个答案:

答案 0 :(得分:2)

不确定为什么要这样做,但你可以直接传递int ID:

Intent intent = new Intent(Main.this, Categories.class);
intent.putExtra("category", R.array.Categories); //R.array.Categories is an int value
startActivity(intent); 

然后..

int myArrayID = bundle.getIntExtra("category", 0); 
myArray = getResources().getStringArray(myArrayID)));

答案 1 :(得分:0)

在Categoris.class中尝试此操作

String myArrayID[];
myArrayId=bundle.getStringArray("category");

答案 2 :(得分:-2)

答案不多,但这是正确的:见getStringArray。你会想要正确地施放它,但是你做对了。