たとえば、イベントリスナーを設定します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秒経ってもまだクリックできますが、おそらくcosイベントリスナーがまだ接続されています。発射されたかどうかわからない場合でも、どうすれば切り離すことができますか。