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



为这个糟糕的标题道歉,但我想不出更好的了。我的strings。xml文件中有很多字符串数组。我希望能够通过传递我的意图资源id(例如r.a ray.mystringarray)作为一个字符串来引用这个,然后在我的类中使用这个字符串来获取我的string[]。以下是我到目前为止所做的尝试,以便让您更好地了解我正在尝试的内容

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

然后在category .class中:

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

我的方法可行吗?还是我忽略了另一种方式。第一个应用程序还在学习

编辑-对不起,我的头炸了今晚,我完全混淆了自己在这里。我已经重写了问题-转换" id. myid "从一个字符串到int值R.id.myID?

不知道为什么要这样做,但是你可以直接传递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)));

在category .class中试试

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

不是一个很好的答案,但这是正确的:参见getStringArray。你会想要正确的转换它,但除此之外你得到了正确的。

最新更新