如何在X位置的ListView-child元素中访问TextView / ImageView ..?

时间:2011-08-27 11:03:41

标签: android listview textview

我想在x位置访问 ListView 的子项。 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>

如何在ListView的第5个孩子中访问(例如)textview“tv_name”? 那是我现在的听众:

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

也许我使用的适配器可能很重要? Refer this

1 个答案:

答案 0 :(得分:3)

当您单击列表项时,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();

                             }
                  });

尝试并向我提供反馈