在我的R.string文件中,我有一些问题= R.string.question1,R.string.question2等。
当用户单击仅带有数字作为文本的按钮时,我想拉出该数字(num)并在正确的位置访问字符串(R.string.question [num])
OnClickListener clickQuestion2 = new OnClickListener(){
@Override
public void onClick(View arg0) {
String num = "R.string"+".question"+((Button)arg0).getText().toString();
int myQuestion = Integer.parseInt(num);
question.setText(myQuestion);
int myOption1 = R.string.question2_1;
int myOption2 = R.string.question2_2;
int myOption3 = R.string.question2_3;
int myOption4= R.string.question2_4;
option1.setText(myOption1);
option2.setText(myOption2);
option3.setText(myOption3);
option4.setText(myOption4);
这是按钮的onClickListener。我尝试了几种方法,但似乎没有任何效果。该错误告诉我“ R.string.question2”,例如,它是无效的字符串。所以我知道我正在为它传递我想要的资源的字符串,我只是不知道如何告诉我我要它读取该字符串,找到该资源并解析它附带的int。基本上与
int myOption1 = R.string.question2_1;
做。这些是从R.string.question(x)中提取问题的可能答案,并且可以正常工作。如何获取资源的int值,但是每次单击按钮时更改资源。
如果这有意义,则感谢您的帮助!
编辑:“问题”是TextView以及option1,option2等。
最佳答案
String dynamicString = "question2_1";
int resID = getResources().getIdentifier(dynamicString, "string", activity.getPackageName());
String result = activity.getResources().getString(resID);