2012-05-07 9 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()); 

最初の引数には、文字列の名前に対応する変数を渡すことができます。 2番目の引数は、検索するリソース(string、drawable、layout .....)を指定します。 3番目の引数は、アプリケーションのパッケージ名です。どのRが使用されるかを指定します。あなたの場合、あなたのアプリケーションに含まれているリソース( "R")を調べたいと思っています。

編集:このメソッドはexemple R.string.c1123

EDIT2のために、あなたが探しているリソースのIDに対応する、intを返し:このintが、その後のためのパラメータとして使用する必要がありますsetText関数です。

だから、完全なコードは次のようになります。

int resId = getResources().getIdentifier("c" + qTotal, "string", this.class.getPackageName()); 
textOut.setText(resId); 
関連する問題