Android 单击2秒钟后禁用按钮,然后恢复
当我第一次单击“重新发送”按钮时,该按钮将禁用2秒钟。2秒钟后,该按钮将启用? 我正在使用这个代码Android 单击2秒钟后禁用按钮,然后恢复,android,android-layout,Android,Android Layout,当我第一次单击“重新发送”按钮时,该按钮将禁用2秒钟。2秒钟后,该按钮将启用? 我正在使用这个代码 btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { btn.setEnabled(false); btn.postDelayed(new Runnable() {
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
btn.setEnabled(false);
btn.postDelayed(new Runnable() {
public void run() {
btn.setEnabled(true);
Log.d(TAG,"resend1");
}
},1000);
}
});
但此代码工作不正常。尝试此操作。为此,您可以使用Handler(
导入android.os.Handler;
)
为此,您可以尝试使用Handler(
import android.os.Handler;
)
你可以用定时器来做这个
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myButton.setEnabled(false);
Timer buttonTimer = new Timer();
buttonTimer.schedule(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
myButton.setEnabled(true);
}
});
}
}, 5000);
}
});
你可以用定时器来做这个
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myButton.setEnabled(false);
Timer buttonTimer = new Timer();
buttonTimer.schedule(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
myButton.setEnabled(true);
}
});
}
}, 5000);
}
});
找到解决办法
long mLastClickTime;
yourButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
disableButtonTwoSecs();
// Here your implementation
}
});
public static boolean disableButtonTwoSecs() {
if (SystemClock.elapsedRealtime() - mLastClickTime < 2000) {
return true;
}
mLastClickTime = SystemClock.elapsedRealtime();
return false;
}
最短点击时间长;
yourButton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
禁用按钮wosecs();
//这是您的实现
}
});
公共静态布尔值disableButtonTwoSecs(){
if(SystemClock.elapsedRealtime()-mLastClickTime<2000){
返回true;
}
mLastClickTime=SystemClock.elapsedRealtime();
返回false;
}
long mLastClickTime;
yourButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
disableButtonTwoSecs();
// Here your implementation
}
});
public static boolean disableButtonTwoSecs() {
if (SystemClock.elapsedRealtime() - mLastClickTime < 2000) {
return true;
}
mLastClickTime = SystemClock.elapsedRealtime();
return false;
}
最短点击时间长;
yourButton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
禁用按钮wosecs();
//这是您的实现
}
});
公共静态布尔值disableButtonTwoSecs(){
if(SystemClock.elapsedRealtime()-mLastClickTime<2000){
返回true;
}
mLastClickTime=SystemClock.elapsedRealtime();
返回false;
}
这帮了我,这帮了我。