[英]Accessing a resource “R.string” variably
在我的R.string文件中,我有一些問題= R.string.question1,R.string.question2等。
當用戶單擊僅以數字作為文本的按鈕時,我要拉出該數字(數字)並在正確的位置訪問字符串(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);
使用字符串數組:
<string-array name="question2">
<item>Sort By Price</item>
<item>Sort By Magnitude</item>
<item>Sort By Ingredient Names</item>
<item>Sort By Extra Effects</item>
</string-array>
用代碼訪問:
int myQuestion = Integer.parseInt(num);
option1.setText(question2[myQuestion]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.