Как получить доступ к TextView / ImageView в элементе ListView-child в позиции X ..? - PullRequest
0 голосов
/ 27 августа 2011

Я хочу получить доступ к дочернему элементу ListView в позиции x. ListView имеет следующий код макета XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:orientation="horizontal"
         android:layout_width="fill_parent"
         android:layout_height="40dp"
         android:background="@drawable/bg_grad_iled">
    <ImageView 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" 
        android:id="@+id/iv_icon" />
    <TextView android:id="@+id/tv_name"
        android:textColor="@color/kategorieTextColor"
        android:layout_height="40dp"
        android:textSize="16sp"
        android:layout_weight=".50"
        android:layout_width="0dip"
        android:padding="3px" 
        android:layout_marginLeft="8px"/>
    <TextView android:id="@+id/tv_comment"
        android:textColor="@color/kategorieTextColor"
        android:layout_height="40dp"
        android:textSize="16sp"
        android:layout_weight=".20"
        android:layout_width="0dip"
        android:padding="3px"/>
    <TextView android:id="@+id/tv_distance"
        android:textColor="@color/kategorieTextColor"
        android:layout_height="40dp"
        android:textSize="16sp"
        android:layout_weight=".30"
        android:layout_width="0dip"
        android:padding="3px"/>
</LinearLayout>

Как я могу получить доступ (например, к текстовому представлению 'tv_name' в 5-м дочернем элементе ListView? Вот мой текущий слушатель:

lv1.setOnItemClickListener(new OnItemClickListener() {
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                    Toast.makeText(context, "Clicked", 1000).show();
                }
              });

Возможно, адаптер, который я использую, может быть важен? См. Это

1 Ответ

3 голосов
/ 27 августа 2011

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

Например:

if you want to get text of tv_name at position 5 simply:



 public void onItemClick(AdapterView<?> arg0, View v, final int position,long arg3) 
                {
                 TextView text=(TextView)v.findViewById(R.id.tv_name);
                 Toast.makeText(this, text.getText(), Toast.LENGTH_LONG).show();

                             }
                  });

попробуйте и получите обратную связь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...