2012-03-07 25 views
-2

私は理由を知りませんが、私のforループは終了ステートメントの真実に達すると '停止'しません。forループは終了しません - Android

for(int i = 1; i < 11; i++){ 
      edittext.setText(""); 
      EasyGame(); 
      //if(i==10){ 
       //Game.this.finish(); 

      //} 
     } 

EasyGame()は算術方法で、2つの数値を加算するだけです。私は上記のif文を使ってみましたが、それでも何もしませんでした。もしそうなら、最初の質問の後にfinish()を呼び出すでしょう!

誰かが私を助けてくれるのであれば、私は感謝します。

EDIT:

public void EasyGame(){ 
    Random rand = new Random(); 
    final int a = (int) rand.nextInt(20)+1; 
    final int b = (int) rand.nextInt(20)+1; 
    String aString = Integer.toString(a); 
    String bString = Integer.toString(b); 
    String display = aString + " + " + bString + " ="; 
    questionLabel.setText(display); 
    c = a + b; 


     } 

ループのために、私はそのコードに何かを参照してくださいいけないボタン

+1

私はEasyGame()メソッドを送信できますか? – ademar111190

+1

EasyGame()メソッドの実際のコンテンツを投稿できますか? –

+0

もし 'i = 1'なら' i == 10'はあなたのマシンがあなたを駆り立てようとしていない限り真を返さないと確信しています –

答えて

1

もっと多くのコードを見ることなく非常に難しいですが、単独で投稿したものは、ループ内のUI要素を継続的に更新しようとしているため本質的に欠陥があります。そのループがUIスレッドで実行されている場合、ループ(およびコールバックメソッドを含む)が終了するまで、システムはedittextなどのUI要素を再描画することはできません。

「私は上記のif文を使用しようとしましたが、それでも何もしませんでした。もしそうなら、最初の質問の後にfinish()を呼び出します!edittextは、前回の.setText()呼び出しで渡されたものを表示するだけであるため、ループが1回繰り返されると考えていると仮定しています。

+0

私は問題としてそれが再描画され、うまくいっているとは思わないが、私は一度それを停止することはできません – a7omiton

+0

私はそれを得るので、私は別の方程式を見ているが、一度反復するだけですか? – a7omiton

+0

いいえ、それは真実ではありません。私のedittext.setText( "");まだEditTextをクリアするので、そのループを意味する必要がありますか? – a7omiton

0

ためのonClick(を扱うスイッチ/ケース)の内側にあること。唯一の問題は、あなたのカウンターがどこかで減少していることです(例えば、EasyGame()内)、または問題が他の場所にあることです。

+2

カウンタはローカル変数です。 EasyGame()はアクセス/変更できません。 –

0

提供されているコードが不足しているため、EasyGame )メソッド

0

ループはたぶん1回だけ実行され、次にEasyGame()の終わりのないループによって停止します。

注:方法に大文字の頭文字を使用しないでください。混乱します。

+0

ああ申し訳ありません、指摘ありがとう – a7omiton

0

私はトレバーページに同意する、と私は試してみて、明確にされます:それはUIスレッド上でコールバック上で実行されている場合、あなたが最初にクリアされたときにコールバックを生成することによって、自分自身を呼び出すことができ、

あなたのコード2番目のテキストを表示または変更します。

また、「それは止まらない」とはどういう意味ですか?私はあなたがここで何をしようとしているのかはよく分かりません。なぜなら、textViewのコンテンツを10回消去し、別のコンテンツの10倍を置き換えるからです。

+0

私は10の数学的な質問を表示/答えようとしています。私は自分の作成したボタンを正しい/間違った答えを表示する「入力」ボタンとして使用していますので、ボタンを押すたびに新しい質問を生成し、edittextをクリアして新しい回答を入力できるようにします。私が意味することは、easyGame()メソッドが11に達した後で、それが無限ループのように呼び出されることを止めないということです – a7omiton

関連する問題