我想在按下按钮时执行某些操作,并在释放按钮时停止这些操作。我使用了以下代码,但它不起作用。你可以在这里检查我的代码 -
ok = (Button)findViewById(R.id.button1);
ok.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
my_var=true;
if (event.getAction() == MotionEvent.ACTION_DOWN) {
while(my_var) do_something();
}else if (event.getAction() == MotionEvent.ACTION_UP) {
my_var=false;
}
return true;
}
});
上述是否有其他替代解决方案。提前完成。
答案 0 :(得分:1)
我认为你想要的是AutoRepeatButton
基本上它是一个扩展Button
的类,并添加一些预定的回调(您可以调整间隔),只要ACTION_DOWN
MotionEvent
发生就会发生。
有一些实现浮动,但我最喜欢以下一个:
答案 1 :(得分:0)
要实现这一点,您必须在do_something方法中的某处将my_var设置为false。