Android - ImageView On Click

时间:2011-09-06 21:53:12

标签: android touch

我在点击图像视图时尝试跟踪点击,但我似乎无法接触到任何想法?

imgView.setOnClickListener(new View.OnClickListener(){
    public void onClick(View v) {
        Log.v(TAG, " click");
    }
});

3 个答案:

答案 0 :(得分:34)

图像通常不可点击,因此我建议您使用定义

android:clickable="true"

在layout.xml中的imageView。

如果这没有帮助,请编辑+更新您的问题并向我们展示您的布局部分,您可以在其中定义图像以查看它。

编辑: 尝试过,你的代码也和我一起工作 - 即使是大写的id名称。 你能仔细看看你的LogCat吗? 只要我不再选择设备,我有时候不会真正更新。

要在Eclipse中执行此操作,请转到“查看设备”(或首先通过“窗口”显示),然后在设备/虚拟设备上单击一次。

如果您仍然未在LogCat-View中找到您的日志条目,请尝试创建一个过滤器(通过绿色加号并将您使用TAG定义的字符串作为“按日志标记”)。

在“使用LogCat”

部分查看android developers > Using DDMS

答案 1 :(得分:6)

您忘记覆盖onClick方法。这对我有用,也应该为你做: - )

imgView.setOnClickListener(new View.OnClickListener() {
   //@Override
   public void onClick(View v) {
      Log.v(TAG, " click");         
   }        
});

这是获取X和Y坐标:

imgView.setOnTouchListener(new OnTouchListener() { 
   @Override
   public boolean onTouch(View v, MotionEvent event) {
      // X = event.getX()
      // Y = event.getY()
      return false;
   }            
});

答案 2 :(得分:1)

1)首先通过添加>使您的图像视图可点击; android:clickable =“true”。
2)然后转到你的java文件并添加声明一个变量 例如 - > private static ImageView imgview;
3)然后添加此功能:

public void OnclickButtonListener() {

    imgview =  findViewById(R.id.imageView3);

    imgview.setOnClickListener(new View.OnClickListener() {
                                      @Override
                                      public void onClick(View v) {
                                          Intent intent=new Intent(timetable.this,MapsActivity.class);
                                          startActivity(intent);
                                      }
    });
}

并在构造函数中调用此函数。 希望这会奏效。