2012-03-03 8 views
0

私は単純な数学ゲームを作成しています。私は10個の質問を一度に1つずつテキストビューに表示するループを作成しようとしています。ユーザーは、編集テキストに回答を入力し、ボタンを押し、質問が検証され、一連の10の次の質問がテキストビューに表示されます。10個の質問をループする方法

私は次の質問にどうやって到達するのかは分かりません。どんな助けでも大歓迎です。

は、ここで私はこれまで何をやったかです:

int x = 0; 

while (x < 10) { 
    if (i1 == 1) { 
    answer = q1; 
    editTextEquation.setText(random1 + "+" + random2); 
    x++; 
    } 
    if (i1 == 2) { 
    answer = q2; 
    editTextEquation.setText(random1 + "-" + random2); 
    x++; 
    } 
    if (i1 == 3) { 
    answer = q3; 
    editTextEquation.setText(random1 + "/" + random2); 
    x++; 
    } 
    if (i1 == 4) { 
    answer = q4; 
    editTextEquation.setText(random1 + "*" + random2); 
    x++; 
    } 
} 

、その後の検証ボタンは、このメソッドを呼び出します

private void questions() { 
    int score = 0; 
    int i = Integer.parseInt(editText.getText().toString()); 
    if (i == answer) { 
    editText.setText("Correct"); 
    score++; 
    } else { 
    editText.setText("Incorrect"); 
    } 
} 
+0

あなたの答えはカンタンですが、同じ変数をテストする複数のifs全体がswitch文の完璧なケースです。 – ncremins

答えて

0

は方法getNextQuestion()を持っており、ボタンクリックリスナーにそれを呼び出します。ただ、

TextView.setText(Question) 
を呼び出してのTextViewのテキストを変更する質問のArrayListのを持って、インデックスを渡すか、次の質問を表示し、その後インデックス/カウントをインクリメントするgetNextQuestion()メソッドでカウントされます。

編集:

int index=0; 

として、あなたの活動の場を設定し、テキストを変更しているあなたの方法でこのインデックスを渡します。

getNextQuestion(index); 
+0

お返事ありがとうございました。 getNextQuestion()メソッドでインデックスを渡してインデックスを増やすにはどうすればよいですか? – Abs90

+0

私は答えを編集しました、それを確認してください – noob

0

私は(あなたがランダムに各質問を生成したいと仮定して)次のことをお勧めしたい:

  • はあなたのランダム 生成された質問(2個の乱数とランダムオペランドを返しますString getQuestion()メソッドを定義します) 文字列
  • で提供さ答えが提供
    quのために右であるチェックしますboolean checkAnswer(String question, String answer)
    を定義しますestion。その後

、あなたの "検証" ボタンをクリックすると、あなた

  • コール

    checkAnswer(yourQuestionsTextView.getText()。のtoString()、 yourAnswerField.getText()。のtoString( ))

    その結果に応じて、 "正しい" または "FALSE" Toastを使用して表示

  • あなたが クリエーターの方法を使用するか、クリックイベントでレイアウトを変更することができます
  • コールyourQuestionsTextView.setText(getQuestion())
+0

またはちょっと見てください:http://stackoverflow.com/questions/9420491/random-math-questions-generator-for-android – Anordil

+0

私はスコアカウンタを追加したい質問は正しい。私はどこでそれを実装するでしょうか? – Abs90

0

。すべてのレイアウトには独自のテキストビューとボタンがあります。その中にxmlとviewflipperが1つだけあります。あなたの質問やテキストビュー、ボタンのような線形または相対レイアウトをそのレイアウトに配置します。Javaファイルでは、ボタンのクリックイベントに

ViewFlipper vf = (ViewFlipper) findViewById(R.id.ID_OF_VIEWFLIPPER);

vf.showNext();

を置きます。次にレイアウトが変更され、次の質問が表示されます。

+0

古いテキストを上書きするために、次のテキストビューとedittextを取得するにはどうすればよいですか? – Abs90

+0

このサイトでも同様の作業が行われています。 [link](http://www.warriorpoint.com/blog/2009/05/29/android-switching-screens-by-dragging-over-the-touch-screen/) ' ' 例えば、テキストビューのテキストの上には、Helloがあります。そこに質問を書くでしょう。実際には良い方法があります。 string.xmlで質問を作成し、textviewで 'android:text =" @ string/question1 "のように参照する必要があります。 –

+0

タッチすると画面が変わるのを忘れないでください。あなたはその方法を使用しません。あなたはあなたが持っている各ボタンのクリックイベントを追加し、私が最初の答えで書いたコードを、対応するtextview idを持つクリックイベントに入れます。 –

関連する問題