2012-03-05 16 views
-1

プログラムをループさせるのが難しいです。 gameloop()onCreateで呼び出されます。私はquestions()を呼び出すボタンを持っています。テキストビューに10の質問を表示するだけで、送信ボタンがクリックされるたびに更新されます。どんな助けも素晴らしいだろう。ループがループしていませんか?

int i1 = Min + (int)(Math.random() * ((Max - Min) + 1)); 
int answer; 

int q1 = random1 + random2; 
int q2 = random1 - random2; 
int q3 = random1/random2; 
int q4 = random1 * random2; 

上記は宣言されています。

public void gameloop(){ 
    for (int i = 0; i < 10; i++) { 
     if (i1 == 1) { 
      answer = q1; 
      editTextEquation.setText(random1 + "+" + random2); 
      continue; 
     } 
     if (i1 == 2) { 
      answer = q2; 
      editTextEquation.setText(random1 + "-" +random2); 
      continue; 
     } 
     if (i1 == 3) { 
      answer = q3; 
      editTextEquation.setText(random1 + "/" +random2); 
      continue; 
     } 
     if (i1 == 4) { 
      answer = q4; 
      editTextEquation.setText(random1 + "*" +random2); 
      continue; 
     } 
    } 
} 

public void questions() { 

int score = 0; 
int i = Integer.parseInt(editText.getText().toString());  
if (i == answer) { 
    score ++; 
    editTextEquation.setText(random1 + "/" +random2); 
    gameloop(); 
} 
else { 
    editTextEquation.setText(random1 + "*" +random2); 
    gameloop(); 
} 
+2

i1の値は何ですか? – Sid

+0

「i1」とは何ですか? .setText(something)は、editTextEquationにあるものをすべて破棄します。もしあなたのテキストビューが10倍になるのですが、最後の書き込みだけがそこにあります –

+0

あなたが書いたことによると、 'i1'の値はループ中に変化しません。 – noMAD

答えて

1

あなたは10回ループしており、繰り返しごとに同じことをしています。どうして?

はまた、あなたが言う:

ちょうどのTextView 質問がある

に10個の質問を表示したいですか? のテキストを1つだけテキストボックスに設定しています。

テキストボックスのコレクションがほしいと思うようです。

0

コードに示されているように1つのテキストボックスだけを使用する場合は、質問と利用可能な回答を含むオブジェクトのコレクションを作成できます。次に、初期化時にそれらを作成し、送信ボタンがヒットしたときに別のオブジェクトにスワップアウトすることができます。あなたはUIで同じコントロールを再利用しています。

関連する問題