我在我的應用程序中的按鈕,在我的按鈕的doubleClick我打開對話框。有時當我雙擊快速按鈕,然後對話框打開兩次會發生什麼情況,作爲其結果用戶必須兩次取消對話框。如何防止對話框打開兩次
所以任何人都可以建議我如何防止這個對話框打開我的按鈕的doubleClick兩次。
我在我的應用程序中的按鈕,在我的按鈕的doubleClick我打開對話框。有時當我雙擊快速按鈕,然後對話框打開兩次會發生什麼情況,作爲其結果用戶必須兩次取消對話框。如何防止對話框打開兩次
所以任何人都可以建議我如何防止這個對話框打開我的按鈕的doubleClick兩次。
可能,這將幫助你:
取一個計數變量,即count=0;
。 在按鈕單擊驗證條件,以便if(count==0)
顯示對話框並將計數設置爲1.(此對話框將不會再次打開),同時解除對話框再次將計數設置爲0。
我認爲這將工作
希望它有幫助。
計數被聲明爲本地或全局變量 – AndroidDev
另一件事我的對話框雙擊按鈕 – AndroidDev
打開兩次,但如果用戶關閉對話框沒有單擊確定或取消按鈕..只是覺得用戶打開對話框,並單擊後退按鈕..在這種情況下,計數是1 ..然後對話框將永遠不會出現 – AndroidDev
做出字段中輸入對話框,像
private Dialog m_dialog = null;
,並在您的onClick監聽器檢查它的狀態:
if ((m_dialog == null) || !m_dialog.isShowing()){
m_dialog = new Dialog(...); // initiate it the way you need
m_dialog.show();
}
編輯 順便說一句,如果你不需要初始化對話每次你可以分開if()這樣的子句:
if (m_dialog == null){
m_dialog = new Dialog(...); // initiate it the way you need
m_dialog.show();
}
else if (!m_dialog.isShowing()){
m_dialog.show();
}
當按下Button
時,使用Button.setEnabled(false)
將其禁用。完成對話後,使用DialogInterface.OnDismissListener
重新啓用Button
。這樣你就不必持有對話框的全局引用。
我面臨的最後2天,大量的命中和試驗後,同樣的問題,我在我的代碼中發現一個小問題我沒有解僱我在我的AsyncTask的onPostExecute()打開的對話框在AsyncTask Work之後做一些額外的工作。我打電話給myCustomDialog.dismiss()
,一切正常。
爲什麼不單擊而不是雙擊..... – Krishna