【发布时间】:2012-06-19 08:28:14
【问题描述】:
我设置了事件监听,例如:setOnClickListener 这样
Button stopBtn = (Button)findViewById(R.id.stop);
stopBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
doMagic();
}
});
如果未按下按钮,我想将此侦听器设置为 10 秒的超时事件。用例:我有 button1 激活此 stopBtn 监听器 10 秒,如果超时,它会被停用,我需要按 button1 以使 stopBtn 再次激活。
我可能做错了:
final Handler myHandler = new Handler();
startBtn = (Button)findViewById(R.id.start);
myHandler.postDelayed(new Runnable() {
public void run() {
startBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i(TAG,"runned");
}
});
}
}, 10000);
10 秒后我仍然可以点击它,这可能是因为事件监听器仍然附加。即使我不知道它是否被解雇,我该如何分离它。
【问题讨论】: