2011-06-19 17 views
0

私のアプリにはさまざまなことをするボタンがあります。私が遭遇している問題は、ボタンが有効/処理/計算される前にボタンを何度も押すことができることです。Android、同じボタンを複数回押したままにする

iがボタンを押したとき、{整数はそれに最大値でなければ1、それに加えなければなりません。

ボタンを押したとき{ダイアログには一度しか表示されません。

私はゆっくりと私は問題はありませんが、私が急に押すと整数がその最大値を超えるか複数のダイアログが表示されます。

誰かがこれに対処する正しい方向に私を指摘できますか?

+0

複数のダイアログがどのように表示されるかはわかりますが、intがその最大値をどのように引き継ぐことができますか?増分する前にテストしていませんか?または、別のスレッドで増分が行われていますか? –

答えて

1

タスクが実行されていることを示すためにボタンハンドラが入力されたときにブール値を設定することができます。ファンクションを入力して値がすでにtrueである場合は、単に操作が完了するまでボタンを無効にするか、単に戻します。

アンドロイドについてよく分かりませんが、タスクが別のスレッドで実行されているか、複数のクリックがキューに入れられているかどうかはわかりません。その場合、ブール値はそれを助けませんすべてが連続して起こります。その場合は、私が以前に提案したように、タスクが進行中の間はボタンを無効にするだけです(いずれにしても良い考えでしょう)。

0

私はそのユーザーフレンドリーではないことをお勧めします。ユーザーがボタンを選択していて、次の操作が起こるまでに多くの時間があり、何回かクリックすることになります。この場合、すぐにクリックをキャプチャすると、あなたは何かが起こっていることを示す循環進捗ダイアログを表示することができ、彼はまたボタンをクリックすることはできません。 カウンタを設定した後でダイアログを閉じると、 ダイアログまたはProgressDialogダイアログ= ProgressDialog.show(MyActivity.this、 ""、 "Loading ...しばらくお待ちください...")が表示されます。一度urを実行するとdialog.dismiss()が呼び出されます

関連する問題