目前,我正在制作一个简单的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秒