状況:
リソースに文字列配列があります。これは、すべての種類の質問で構成されています。
たとえば、ユーザーが [すべてのタイプ] をクリックしてすべてを選択すると、selection_question
文字列配列は 内のすべてのアイテムをコピーしますall_question
。
しかし、ユーザーが特定の種類の質問をクリックして、たとえば動物関連の質問だけを選択した場合、文字列配列はこの単語を含む「動物」を含むselection_question
すべての項目をコピーします。all_question
私のコードは次のように簡単です:
宣言する:
String[] all_Question ;
String[] selection_Question;
作成時:
all_Question = getResources().getStringArray(R.array.all_Q_List);
all_numberofquestions = all_Question.length;
// reset
selection_numberofquestions = 0;
selection_Question = new String[0];
j =0;
すべてを選択する場合:
for (int i = 0; i < all_numberofquestions ; i++)
{
selection_Question[i] = all_Question [i];
}
いくつかの基準に基づいて選択する場合:
for (int i = 0; i < all_numberofquestions ; i++)
{
if (all_Question [i].contains("animal"))
{
selection_Question [j] = all_Question [i];
j++;
}
}
質問:
次に、Logcat に示すように、次のエラーが表示されます。
03-04 22:14:10.568: E/AndroidRuntime(24917): Caused by: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
なぜ範囲外なのかわかりませんか?上記のコードはどのように変更できますか?
ありがとう!!