如何检测按钮的单击,按下和释放状态.我想在这些状态下执行不同的功能.点击我想调用function1,按下我想调用function2然后在接收时我想调用function3.
我们可以使用View.OnClickListener检测点击状态.我们可以使用View.OnTouchListener检测Button的Pressed和Released状态,并处理ACTION_DOWN和ACTION_UP.我能够单独检测这些状态,但不能一起检测.
下面是OnCLickListener的代码.
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
System.out.println(" clicked ");
}
});
下面是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;
}
});
当我在Button上设置单击并触摸侦听器时,Click事件永远不会被调用.相反,我接受了压制和释放状态.
我怎样才能一起处理这三种状态?
编辑:
我添加了我使用过的OnClickListener和OnTouchListener代码.