我在我的应用程序中的按钮,在我的按钮的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