テキスト ビュー (質問) を開始し、その下にリスト オプション (選択する回答) が表示されるアプリを作成しようとしています。リスト ビュー オプションをドロップダウンします。最後に、選択したオプションによって結果が異なります。わかる?非常に反復的であることを確認して開始する方法に関するソースコードまたは例を探しているので、何でも喜ばれます。
1 に答える
ドロップ ダウン リストを作成するには、ここで説明されているようにスピナー オブジェクトを使用する必要があります。次に、スピナー アダプターを使用してこのリストにデータを入力する必要があります。これは便利な場合があります。
ユーザーがクイズで回答を選択したら、 answerArray を変更し、 を使用invalidate();
してビューを再描画することで、同じレイアウトに別の質問と回答を再入力して次のラウンドを開始できます (回答が間違っている場合は、代わりに「ゲームオーバー」レイアウト)。
質問と回答の保存に関しては、ある種の SQLite データベースをお勧めします。SQLite データベースは、アプリのデータ ディレクトリに保存できます。Android には、データベースを作成、編集、および読み取る方法があります。これを確認してください。ほとんどのチュートリアルでは、コードを使用してデータベースを作成する方法を説明していますが、出荷する質問の定義済みデータベースがある場合は、それを assets フォルダーに配置し、そこからアプリのデータ ディレクトリにコピーできます。
データベースは、質問を 1 つのテーブルに保存し、回答を別のテーブルに保存します。質問 ID フィールドを使用すると、どの回答がどの質問に属しているかを示すことができます。true/false ブール値フィールドを使用して、どの回答が正しいかを示すこともできます。
アプリが回答をアダプターに読み込むと、テキストとブール値の正しい/間違った値を含む回答オブジェクトを作成できます
public class AnswerObject{
public String text;
public boolean isCorrect;
public AnswerObject(){
this.text = "";
this.isCorrect=false;
}
}
次に、質問の回答ごとにオブジェクトを作成し、それらを配列に保存します
AnswerObject[] answers = new AnswerObject[numberOfAnswers];
for(i=0; i<answers.length; i++){
answers[i].text = textFromDatabase;
answers[i].isCorrect = booleanFromDataBase;
}
コードの間違いをお詫び申し上げます。手でタイプしました。