Справка по событию onClick () в элементе пользовательского макета строки ListView

У меня есть ListView, строки которого отформатированы мной. Каждая строка содержит сочетание ImageView и TextView. Я также реализовал свой собственный адаптер и могу рисовать через него каждую строку.

Теперь мне нужно что-то вроде этого -

  • Пользователь нажимает на ImageView (не где-либо еще в строке, но только этот ImageView должен реагировать на щелчки)
  • Я узнаю позицию строки, по которой был выполнен щелчок по ImageView.

Я пробовал много вещей для этого и хотел, чтобы мой код был максимально эффективным (с точки зрения избыточности). В настоящее время я могу зафиксировать событие щелчка только на этом конкретном ImageView, но я не могу знать, какая строка была нажата.

Я предоставил атрибут в XML строки, подобный этому-

<ImageView android:id="@+id/user_image"
    android:padding="5dip" 
    android:layout_height="60dip" 
    android:layout_width="60dip"
    android:clickable="true"
    android:onClick="uImgClickHandler"/> 

И в моем коде у меня есть метод вроде этого:

public void uImgClickHandler(View v){
  Log.d("IMG CLICKED", ""+v.getId());
  LinearLayout parentRow = (LinearLayout)v.getParent();

 }

Я могу получить родительскую строку (возможно), но не знаю, как продвинуться дальше. Кто-нибудь может помочь?

5
задан scottyab 22 June 2012 в 09:18
поделиться