目前,我正在制作一个简单的android应用程序,我有一个问题,我卡住了一段时间。我在google上读过很多关于如何使用android防止多次点击的文章,但是,当我按下按钮时,没有任何动作发生。
我要做的就是防止用户多次单击。我已经发布了示例代码。我想知道是否有一些错误…

private long mLastClickTime = 0;

public void sendData(View v) {

    if (SystemClock.elapsedRealtime() - mLastClickTime < 1000) {

        return;
    }
    mLastClickTime = SystemClock.elapsedRealtime();
    if ((number.getText().toString().equals("") || number.getText()
                .toString() == null)
                || (num.getText().toString().equals("") || num.getText()
                        .toString() == null)) {
        //alert the user
        Toast.makeText(this, "Insertnumber",Toast.LENGTH_SHORT).show();
    } else {

        if (SystemClock.elapsedRealtime() - mLastClickTime < 1000) {

            return;
        }
        mLastClickTime = SystemClock.elapsedRealtime();

        //sending the data
        trySendingData trying = new trySendingData();

        trying.execute();
    }
}

我要做的是单击一下执行asynctask trying.execute();命令。

最佳答案

可以在onclicklistener中调用此方法

 public static void blockView(final View v) {
    v.setEnabled(false);
    new Handler().postDelayed(new Runnable() {

        @Override
        public void run() {
            v.setEnabled(true);
        }
    }, 1000);

}

这会挡住视线1秒

10-07 15:32