冻结活动/方法执行,直到从对话框获得响应

时间:2013-07-16 15:50:10

标签: android android-alertdialog

当用户在后退按钮上点击7次时,我正尝试实施管理模式。 然后,将使用editText调用对话框消息,要求输入密码。如果密码与数据库中的密码匹配,我将passwordMacthes设置为TRUE并将其返回到对话框setTapCount的任何调用,并启动管理模式活动。

但是,return passordMatches总是返回FALSE,因为它在dialogMessage验证密码之前完成执行,并被用户解除或取消。

这是我的setTapCount方法:

    public static boolean setTapCount(Context context){
        tapCount = tapCount + 1;
        if(tapCount == 7){
            tapCount = 0;
            dialogMessage(context);
            return passwordMatches;
        }else{
            return false;
        }
     }

有人知道如果只在完成后调用dialogMessage(context)下面的行吗?

感谢

1 个答案:

答案 0 :(得分:0)

将该行移动到对话框中的accept按钮的处理程序,并将您的app重写为事件驱动的(例如,让setTapCount()接受一个结果监听器对象,该对象可以通知用户做了什么,而不是返回boolean)。