2017-05-04 12 views
1

だから私はのstrings.xmlで多くの文字列を持って、彼らはの形式で記録されています。今、私はすべての文字列IDを入力することなく、それらを一つずつロードしたいアンドロイドのgetString問題

<string name="list_1">xxxxxxxxxxx</string> 
<string name="list_2">xxxxxxxxxxx</string> 
<string name="list_3">xxxxxxxxxxx</string> 
...... 

for (int i = 1; i <= num; i++) { 

    // Just showing what I mean. 
    String xxx = getString(R.string.("list_" + i)); 

} 

このような方法はありますか?

+0

[これを試してみてください](http://stackoverflow.com/a/11595723/1790644)。 –

答えて

1

を、これは試してみてください:

int resourceID = getResources().getIdentifier("list_" + i, "string", getPackageName()); 

String xxx = getString(resourceID); 
+0

非常に感謝しています。どうもありがとう! –

1

リソース配列を使用する価値があります。例えば

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <string-array name="planets_array"> 
     <item>Mercury</item> 
     <item>Venus</item> 
     <item>Earth</item> 
     <item>Mars</item> 
    </string-array> 
</resources> 

、あなたは、アクセス反復次のようにすることができます

Resources res = getResources(); 
String[] planets = res.getStringArray(R.array.planets_array); 
関連する問題