我有一个功能代码,但在上次SDK更新后,我收到此警告:
Multiple markers at this line
– onTouch should call View#performClick when a click is detected
– implements android.view.View.OnTouchListener.onTouch
med.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
detect.setEnabled(false);
}
if (event.getAction() == MotionEvent.ACTION_UP || event.getAction() == MotionEvent.ACTION_CANCEL) {
detect.setEnabled(true);
}
//v.performClick();
Log.e("next", "touch");
return false;
}
});
med.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if(!center) {
send("1");
} else {
send("2");
}
Vibrate(100);
Log.e("next","click");
}
});
我的代码工作正常,但如果我解开v.performClick();删除警告我得到了不必要的行为.为什么我会收到此警告,如果我将其丢弃并保留代码,是否会出现问题?
编辑:
当我点击按钮时,这是我的日志:
“下一步”,“触摸”
“下一步”,“触摸”
“下一步”,“点击”
这与v.performClick()
“下一步”,“点击”
“下一步”,“触摸”
“下一步”,“点击”
“下一步”,“触摸”
“下一步”,“点击”
解决方法:
你应该把
v.performClick();
在第二个内部如果:
if (event.getAction() == MotionEvent.ACTION_UP ....) {
v.performClick();
detect.setEnabled(false);
}