2011-06-19 35 views
0

我在我的應用程序中執行各種操作的按鈕。我遇到的一個問題是,按鈕可以被多次按下,然後按鈕被啓用/處理/計算。Android,限制多次按下相同的按鈕

當我按下一個按鈕{的整數應該有1添加到它,除非它是在它的最大值。

當我按下按鈕{一個對話框應該顯示(只有一次)。

在這兩種情況下,如果我按緩慢我沒有問題,但如果我按下迅速整數將通過其最大或多個對話框將顯示。

有人可以指出我正確的方向來處理這個問題。

+0

我可以看到如何顯示多個對話框,但int如何通過其最大值?你在增加之前不測試嗎?或者是增加正在一個單獨的線程上完成? –

回答

1

聽起來好像你可以簡單地設置一個布爾值,當輸入按鈕處理程序來表示任務正在執行。如果您輸入了該功能並且該值已經爲true,那麼只需返回(或者直接禁用該按鈕,直到操作完成)。

我不知道很多關於android的知識,我不知道你是否有在不同的線程中運行的任務,或者是否有多個點擊排隊,在這種情況下,布爾值不會有幫助,因爲它將全部以串行方式發生。在那種情況下,正如我之前所建議的那樣,只要在任務正在進行時禁用按鈕(在任何情況下都可能是個好主意)。

0

我建議禁用不是用戶友好的,我看到用戶正在選擇按鈕,並且在下一個操作發生之前有很多時間,並且爲什麼他最終會多次點擊。在這種情況下,儘快捕獲點擊,你可以顯示循環進度對話框,顯示用戶正在發生的事情,他也不能點擊按鈕。 關閉對話框,一旦你設置了計數器 或第二種情況即將打開對話框ProgressDialog dialog = ProgressDialog.show(MyActivity.this,「」, 「Loading。Please wait ...」,true);然後dialog.dismiss()一旦你做完