我正在努力让我的活动响应单击,但我找不到实现此方法的方法。
我可以使用onTouchEvent
覆盖该方法并让我的逻辑在那里运行,但onClick
是不可能的?
这背后的原因是什么,我该怎么做才能获得我想要的效果?
根据要求:我目前拥有的
@Override
public void onClick(View event) {
// TODO Auto-generated method stub
x = event.getX();
y = event.getY();
pixelColor = Color.RED;
PixelParticle pp = new PixelParticle(this, x, y, 50, 50, pixelColor);
setContentView(pp);
}
这不起作用 - 我实现OnClickListener
并覆盖上面的方法,画布永远不会绘制我想要绘制的内容。
答案 0 :(得分:2)
在短时间内触摸+触摸同一个点是onClick
(实际上android源代码中的onClick事件实际上是以这种方式制作的。)
因为onTouchEvent
(在活动中)是为了检查整个屏幕的触摸事件而设置的。但是onClick
用于检查视图上的点击事件(而不是整个屏幕)。触摸事件是原始事件,点击不是。
如果你想检查你的屏幕是否被点击,只需使用你的布局的onClick
方法(给它一个id myLayout)。
LinearLayout layout = findViewById(R.id.myLayout);
layout.setOnClickListener(xxx);