为什么Activity没有onClick事件处理程序?

时间:2014-03-10 09:51:23

标签: java android onclick

我正在努力让我的活动响应单击,但我找不到实现此方法的方法。 我可以使用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并覆盖上面的方法,画布永远不会绘制我想要绘制的内容。

1 个答案:

答案 0 :(得分:2)

在短时间内触摸+触摸同一个点是onClick(实际上android源代码中的onClick事件实际上是以这种方式制作的。)

因为onTouchEvent(在活动中)是为了检查整个屏幕的触摸事件而设置的。但是onClick用于检查视图上的点击事件(而不是整个屏幕)。触摸事件是原始事件,点击不是。

如果你想检查你的屏幕是否被点击,只需使用你的布局的onClick方法(给它一个id myLayout)。

LinearLayout layout = findViewById(R.id.myLayout);
layout.setOnClickListener(xxx);