[英]onTouchEvent and onClickListener can't work together on the same page
For example, if I have some buttons with onclick listener and the rest of the screen recieves ontouch event.The ontouch event will jam the onclick event unless you lift up the ontouch finger the onclick will not respond. For example, if I have some buttons with onclick listener and the rest of the screen recieves ontouch event.The ontouch event will jam the onclick event unless you lift up the ontouch finger the onclick will not respond.
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mAttackButton = findViewById(R.id.attack);
mJumpButton = findViewById(R.id.jump);
mAttackButton.setOnClickListener(this);
mJumpButton .setOnClickListener(this);}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.attack:
attack();
break;
case R.id.jump;
jump();
break;
}
}
@Override
public boolean onTouchEvent(MotionEvent event) {
super.onTouchEvent(event);
mTouchPoint.x=event.getX();
mTouchPoint.y=event.getY();
return true;
}
}
You can always split the onClickListener().您始终可以拆分 onClickListener()。 Instead of implementing the entirety of the activity.
而不是实现整个活动。 Try adding onClickListener() to each view individually.
尝试将 onClickListener() 分别添加到每个视图。 Same with the OnTouchEvent().
与 OnTouchEvent() 相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.