2012-05-07 21 views
1

更多代碼 - 這裏創建的字符串是R.string.c#### - c.####是我想要作爲setText運行的預定義字符串。創建字符串比可用作文件路徑 - Eclipse/Android

int Q1 = question1.getmCounter(); 
int Q2 = question2.getmCounter(); 
int Q3 = question3.getmCounter(); 
int Q4 = question4.getmCounter(); 

int qTotal = Q1 + Q2 + Q3 + Q4; 
String Test5 = "R.string.c" + qTotal; 

這就是我現在正在得到我想喂的「字符串」。

textOut = (TextView) findViewById(R.id.ChmpNametxt); 
    textOut.setText(Test5); 

這是我想餵它的地方。

回答

2

您可以使用「getIdentifier」方法訪問資源。它允許訪問程序包的任何資源:

getResources().getIdentifier("c1123", "string", this.class.getPackageName()); 

你可以通過任何變量在第一個參數,這對應於您的字符串的名稱。 第二個參數指定在哪些資源中進行搜索(字符串,可繪製,佈局.....)。 第三個參數是應用程序的包名稱。它指定使用哪個「R」。在你的情況下,你想看看你的應用程序中包含的資源(「R」)。

編輯:此方法返回一個int,對應於您要查找的資源的ID,用於爲例R.string.c1123

EDIT2:那麼這種使用int作爲參數setText函數。

所以完整的代碼如下:

int resId = getResources().getIdentifier("c" + qTotal, "string", this.class.getPackageName()); 
textOut.setText(resId);