1

画面/ポップアップが読み込まれる前に十分に速い場合、アプリのボタンをクリックすると、それらが複数回読み込まれます。ボタンのクリックを無効にする方法は知っていますが、ポップアップを閉じるか前の画面に戻るとボタンが無効になるため、それはオプションではありません。Handler と Runnable を使用して、ボタンが再びアクティブになる前に 1 秒間待機しようとしましたが、OS が次の画面を開くのにさらに時間が必要な場合に備えて、この解決策は最適ではありません。だから私は最も最適な解決策を探しています。何か案は?

編集: setClickable(false) を true に戻しても、ボタンが再び有効になり、画面/ポップアップが予想よりも遅くロードされるため、機能しません。

4

5 に答える 5

2

次のコードを使用して、同時に複数のクリックを無効にすることができます

private boolean isClicked;

@Override
public void onClick(final View v) {

    if(isClicked) {
        return;
    }
    isClicked = true;
    v.postDelayed(new Runnable() {

        @Override
        public void run() {
            isClicked = false;
        }
    }, 1000);
}
于 2014-03-25T07:07:14.757 に答える
1

クリックを無視するかどうかを決定するロジックを onClick に実装します。

于 2013-11-08T12:36:51.930 に答える
0

ボタンを無効にすることができます。ポップアップを閉じるときにボタンを有効にし、ポップアップが表示されているときにボタンを無効にします。ポップアップのアクションと、ユーザーが前の画面に戻ったときのアクションをリッスンし続けます。

于 2013-11-08T12:36:48.680 に答える