2

OK、私は自分の問題をうまく説明できていないので、ここで数回改訂します。

調査があります。調査は整数を生成します。この数値を、リソースに保存されているプリセット文字列に関連する文字列ファイル名に変換します。質問に対する選択に基づいて、最後に別の文字列が必要です。

このコードは目的のコマンド ラインを生成します。R.string.c####

    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;

このコードは onCreate 内にあり、TextView のコンテンツを生成します。

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

私のコンセプトは、Test5 を "R.string.c####" として読み取り、目的の文字列をロードするというものでした。これは行われず、Test5 の内容をコマンドラインに取り込む方法を知りたいです。

誰かが私を麦芽にするのを手伝ってくれることを願っています..

前もって感謝します

-クリス

4

2 に答える 2

1

あなたはすでにここで正しい答えを得ました:ファイルパスとして使用できるよりも文字列を作成する-Eclipse / Android

あなたの場合:

String stringId = "c" + qTotal; //note: not the same as what you did with your Test5
int resId = getResources().getIdentifier(stringId, "string", getPackageName());
textOut.setText(resId);

それとも、「コマンドライン」という言葉の使用を誤解していますか?

于 2012-05-07T23:34:17.850 に答える
0

テキストのリソースIDを取得する必要があります。このコードは、リソースIDを取得します。

ContextWrapper cw = this.getContext();// how you get this can be different, but you need a ContextWrapper from somewhere to use.
int resId = cw.getResources().getIdentifier("c" + qTotal, "string", cw.getPackageName());

次に、resId変数をパラメーターとしてtextOut.setTextを使用できます。

于 2012-05-07T23:33:58.347 に答える