Android 如何在启用某项功能时连续执行单击
我是初学者。。。当我的按钮处于启用状态时,我需要在连续10秒后运行一些代码。 当我点击它,它变成了禁用状态,计时器停止。 我使用下面的代码,但每次单击timerbutton时它只运行一次。。。 我想我必须使用3D,我想我也使用了它!但我没有达到我的目标Android 如何在启用某项功能时连续执行单击,android,delay,android-handler,android-7.1-nougat,postdelayed,Android,Delay,Android Handler,Android 7.1 Nougat,Postdelayed,我是初学者。。。当我的按钮处于启用状态时,我需要在连续10秒后运行一些代码。 当我点击它,它变成了禁用状态,计时器停止。 我使用下面的代码,但每次单击timerbutton时它只运行一次。。。 我想我必须使用3D,我想我也使用了它!但我没有达到我的目标 private View.OnClickListener ontimerclicked = new View.OnClickListener() { @Override public void onClick(View view)
private View.OnClickListener ontimerclicked = new View.OnClickListener() {
@Override
public void onClick(View view) {
Handler myHandler = new Handler();
myHandler.postDelayed(new Runnable() {
@Override
public void run() {
if (endistimer==false) {
endistimer=true;
varbtnimgslidtimer.setBackgroundColor(Color.parseColor("#E91E63"));
varbtnimgnext.performClick();
intdelay=10000;
}
else
{
endistimer=false;
varbtnimgslidtimer.setBackgroundColor(Color.parseColor("#dddddd"));
intdelay=0;
}
}
}, intdelay);
}
};
我最终用下面的代码解决了它。我把它交给了其他人:
private View.OnClickListener ontimerclicked = new View.OnClickListener() {
@Override
public void onClick(View view) {
mHandler = new Handler();
if (endistimer==false) {
endistimer=true;
varbtnimgslidtimer.setBackgroundColor(Color.parseColor("#E91E63"));
}
else
{
endistimer=false;
varbtnimgslidtimer.setBackgroundColor(Color.parseColor("#dddddd"));
intdelay=5000;
cntsec=0;
varbtnplusfive.setText(arrsec[0] +" Sec");
}
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
while (endistimer) {
try {
Thread.sleep(intdelay);
mHandler.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
// your codes
// you can set continue_or_stop to false, for stop
}
});
} catch (Exception e) {
// TODO: handle exception
Toast.makeText(slideword.this,e.toString(),Toast.LENGTH_SHORT);
}
}
}
}).start();
}
};
每次间隔时间,请尝试使用一些代码。这对我来说不是很有用。有人能帮我更多吗?