如何检测按钮的单击,按下和释放状态.我想在这些状态下执行不同的功能.点击我想调用function1,按下我要调用function2,接收时我想调用function3.
我们可以使用检测点击状态View.OnClickListener.我们可以使用View.OnTouchListener和处理ACTION_DOWN和检测Button的Pressed和Released状态ACTION_UP.我能够单独检测这些状态,但不能一起检测.
下面是OnCLickListener的代码.
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
System.out.println(" clicked ");
}
});
Run Code Online (Sandbox Code Playgroud)
下面是OnTouchListener的代码.
button.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
System.out.println(" pressed ");
return true;
case MotionEvent.ACTION_UP:
System.out.println(" released ");
return true;
}
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
当我在Button上设置单击并触摸侦听器时,Click事件永远不会被调用.相反,我接受了压制和释放状态.
我怎样才能一起处理这三个州?
编辑:
我添加了我使用的OnClickListener和OnTouchListener代码.