0

ユーザーが戻るボタンを7回タップすると、管理モードを実装しようとしています。次に、パスワードを要求する editText を含むダイアログ メッセージが呼び出されます。パスワードがデータベース内のパスワードと一致する場合は、passwordMacthesTRUE に設定し、ダイアログ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)ますか?

ありがとう

4

1 に答える 1

0

その行をダイアログの Accept ボタンのハンドラーに移動し、アプリをイベント ドリブンになるように書き直します (たとえば、 をsetTapCount()返すのではなく、ユーザーが行ったことを通知できる結果リスナー オブジェクトを受け入れますboolean)。

于 2013-07-16T15:58:55.633 に答える