我想在用户按下某个按钮时调用一个函数,只要按下该按钮就会无限循环,然后在用户释放按钮后中断。我可以说我正在寻找一个Button-While-Clicking事件处理程序
我确信这样的事件处理程序可能存在于大多数IDE中。 我如何在Android Studio中实现这一目标?
非常感谢为此示例任务提供示例:
虽然单击:
// Button Clicking
int i = 0;
Btn.setOnClickListener(
new Button.OnClickListener() {
public void onClick(View v) {
TextOne.setText("Clicking" + i++);
}//onClick
}//onClickListener
);//setOnClickListener
发布时:
// Button Released
Btn.setOnClickListener(
new Button.OnClickListener() {
public void onClick(View v) {
TextOne.setText("Released");
}//onClick
}//onClickListener
);//setOnClickListener
...
修改 解决方案似乎是OnTouchListener()事件处理程序,我必须导入android.view.MotionEvent;使用它。
答案 0 :(得分:1)
您正在寻找onTouchListener -
button.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
//Button pressed
TextOne.setText("Clicking");
return true;
}
else if (event.getAction() == MotionEvent.ACTION_UP) {
//Button released
TextOne.setText("Released");
return true;
}
return false;
}
});
当用户触摸按钮时会生成MotionEvent.ACTION_DOWN,当用户从按钮上移开触摸时会生成MotionEvent.ACTION_UP。