1

Android アプリ用の XML リソース ファイルがあり、それぞれが word# という名前の多くの文字列配列を含みます。# は数字 (現在は 0 ~ 100) です。つまり、word0、word1 などです。

Random を使用して乱数を選択し、switch ステートメントを使用してその数に基づいて正しい配列を選択しています。したがって、random.nextInt が 4 を返す場合、R.array.word4 を返すようにします。

これが私のコードです:

private String[] getWordArray(int i) { //i is a random number

        Resources res = getResources();
        String[] x = new String[8];

        switch(i){
        case 0: x = res.getStringArray(R.array.word0); break;
        case 1: x = res.getStringArray(R.array.word1); break;
        case 2: x = res.getStringArray(R.array.word2); break;
        case 3: x = res.getStringArray(R.array.word3); break;
//and so on
}

特に、最終的には 1000 個のアレイが必要になるため、これは非常に反復的であることを知っています。これを改善するにはどうすればよいですか?

XML リソースの格納方法が必要です。

4

1 に答える 1

3

名前でリソース ID を取得できます。

final Resources resources = getResources();
final String name = "word" + i;
final int id = resources.getIdentifier(name, "array", getPackageName());
final String[] array = resources.getStringArray(id);
于 2013-01-07T16:41:09.460 に答える