我的TextView不支持MotionEvent.Action_UP。我只在event.getAction上得到0。
但是相同的代码对于ImageButton来说是完美的。
Textview不支持MotionEvent.Action_UP吗?
textView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(final View v, final MotionEvent event) {
Log.v("tag","textView"+event.getAction());
if (event.getAction() == MotionEvent.ACTION_DOWN) {
Log.v("tag","textViewmousedown");
} else if(event.getAction() == MotionEvent.ACTION_UP) {
//This gets never called
Log.v("tag","textViewmouseup");
if (standardButtonClickListener != null) {
standardButtonClickListener.onStandardButtonClick(v);
}
}
return false;
}
});
答案 0 :(得分:13)
您必须在true
方法中返回false
而不是onTouch
。这样,其他事件将传递给您的听众。
答案 1 :(得分:-1)
别忘了MotionEvent.ACTION_CANCEL
@Override
public boolean onTouch(final View view, final MotionEvent motionEvent) {
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
setColorFilter(Color.argb(155, 185, 185, 185));
}
else if (motionEvent.getAction() == MotionEvent.ACTION_UP || motionEvent.getAction() == MotionEvent.ACTION_CANCEL) {
setColorFilter(Color.argb(0, 185, 185, 185));
}
return false;
}