Android - ImageView On Click

Я пытаюсь проследить щелчок при щелчке по моему изображению, но я не могу понять, какие идеи?

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

Ответы

Ответ 1

Изображения обычно не доступны для кликов, поэтому я бы предположил, что вы указали определение

android:clickable="true"

в вашем layout.xml для изображения.

Если это не помогает, отредактируйте + обновите свой вопрос и покажите нам часть вашего макета, где вы определяете изображение, чтобы посмотреть на него.

EDIT: Пробовал это, и ваш код работал со мной тоже - даже с идентификатором верхнего регистра. Не могли бы вы внимательно посмотреть на свой LogCat? Моя иногда не обновляется, пока я не выбираю устройство снова.

Чтобы сделать это в Eclipse, перейдите в "Устройства" (или покажите его сначала через "Окно" ) и щелкните один раз на своем устройстве/виртуальном устройстве.

Если вы еще не нашли свою запись в LogCat-View, попробуйте создать фильтр (с помощью зеленого плюса и присвоив ему строку, которую вы определили с помощью TAG как "по тегу журнала" ).

Взгляните на разработчиков Android > Использование DDMS в разделе "Использование LogCat"

Ответ 2

Вы забыли переопределить метод 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;
   }            
});

Ответ 3

1) Сначала сделайте свое изображение доступным, добавив- > андроид: 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);
                                      }
    });
}

и вызовите эту функцию в конструкторе. Надеюсь, это сработает.