OK、私の前のスレッドはコンセプトがあまり良くなかったので、ここに別のより正確なスレッドがあります。質問と 4 つの可能な答えを含むクイズがあります。質問は、assets フォルダーにインポートされた事前入力済みの sqlite データベースからのものです。コレクション シャッフルを使用して、回答をランダムにボタンに配置します。これで、50/50 ヘルプのボタンができました。たとえば、億万長者になりたい i のように、2 つの間違った回答を削除することができます。これが私の問題ですか?どこにあるのかわからない場合、2 つの間違った回答を削除する方法 (ボタンのテキストを "" に設定) は? そのうちの1つが正解です。これが私の質問コードです:
public void nextQuestion() {
TestAdapter mDbHelper = new TestAdapter(this);
mDbHelper.createDatabase();
try{
mDbHelper.open();
Cursor c = mDbHelper.getTestData(generateWhereClause());
mAnsweredQuestions.add(c.getLong(0));
List<Answer> labels = new ArrayList<Answer>();
labels.add(new Answer(c.getString(2), true));
labels.add(new Answer(c.getString(3), false));
labels.add(new Answer(c.getString(4), false));
labels.add(new Answer(c.getString(5), false));
Collections.shuffle(labels);
tacanOdg = c.getString(2);
if(brojacPogresnihOdgovora < 5){
question.setText(c.getString(1));
bOdgovor1.setText(labels.get(0).option);
bOdgovor1.setTag(labels.get(0));
bOdgovor1.setOnClickListener(clickListener);
bOdgovor2.setText(labels.get(1).option);
bOdgovor2.setTag(labels.get(1));
bOdgovor2.setOnClickListener(clickListener);
bOdgovor3.setText(labels.get(2).option);
bOdgovor3.setTag(labels.get(2));
bOdgovor3.setOnClickListener(clickListener);
bOdgovor4.setText(labels.get(3).option);
bOdgovor4.setTag(labels.get(3));
bOdgovor4.setOnClickListener(clickListener);
netacniOdg.setText("" + brojacPogresnihOdgovora);
score.setText("Score: " + brojacTacnihOdgovora);
}
}
finally{
mDbHelper.close();
}