ループを介して持っている配列に基づいて、基本的に次々と繰り返されるカードのリストを作成しようとしています。
ただし、何らかの理由で、ループ内で OnClickListener を設定すると OOB 例外が発生しますが、私が見たところ、そうすべきではないので、正しい方向に向けられたことに感謝します。
私のループ:
for(FAQNumber = 0; FAQNumber < questions.length; FAQNumber++){
stack.add(new FAQCard(questions[FAQNumber], answers[FAQNumber]));
(stack.get(FAQNumber)).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Bundle bundle = new Bundle();
bundle.putSerializable("title", questions[FAQNumber]);
bundle.putSerializable("position", FAQNumber);
startActivity(new Intent(getActivity().getBaseContext(), QuestionAnswer.class).putExtras(bundle));
}
});
}
questions
メソッドの前半で宣言された配列で、数個の文字列のみが含まれます。リストstack
として動作します。
( 5 つbundle.putSerializable("title", questions[FAQNumber]);
の値が含まれている場合) を追加しようとすると、OOB エラーが発生します。しかし、ループが5になる前に停止する必要があるため、それがどのように発生するのかわかりませんか?questions[5]
questions[]
FAQNumber
上記のループで私がやろうとしているのは、正しい質問をバンドルに渡して、カードが押されたときに質問が一致するようにすることだけです。
とにかく、どんな助けも大歓迎です!