0

ボタンがあり、ユーザーがボタンをタップすると、スレッドを実行して何かを行います。

ユーザーがボタンを何度もタップすると、同時に多くのスレッドが実行されます。

ユーザーが複数回タップしたときに、スレッド実行のみを実行した場合、どうすれば回避できますか。最初のスレッドが完了すると、2 番目のスレッドを実行できます。

ありがとう

4

4 に答える 4

2

クリックに反応してスレッドを開始したことを示すブール値を保持する必要があります。このようなもの:

boolean threadStarted = false;

public void onClick(View v) {
    if (!threadStarted) {
        // start thread here
        threadStarted = true;
    } else {
        // Ignore this spurious click
    }
}

注: スレッドが完了したら、ブール値を false にリセットすることを忘れないでください

于 2012-08-03T10:09:16.980 に答える
2

試してみましたか:myButton.setEnabled(false)ボタンが押されたときに追加myButton.setEnabled(true)してから、スレッドの最後に追加します。

于 2012-08-03T10:05:26.173 に答える