列表视图项单击侦听器不起作用

时间:2017-04-01 08:01:11

标签: android

列表视图的行布局。单击项目不起作用。 即使没有错误或崩溃,list.onItemClickListener函数也没有被调用。它有一些问题我无法弄清楚。

XML代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?android:attr/selectableItemBackground"
    android:focusable="true"
    android:clickable="true"
    android:orientation="vertical">

    <LinearLayout
        android:id="@+id/invoice_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:background="@drawable/button_selector"
        android:padding="5dp">

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">

            <ImageView
                android:id="@+id/invoice_image"
                android:layout_width="25dp"
                android:layout_height="25dp"
                android:layout_alignParentLeft="true"
                android:layout_marginLeft="10dp"
                android:layout_marginTop="5dp"
                android:src="@drawable/report_card_symbol"
                android:textColor="@color/black"
                android:focusable="false"/>

            <TextView
                android:id="@+id/order_id"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:layout_toRightOf="@+id/invoice_image"
                android:ellipsize="end"
                android:maxLines="1"
                android:paddingLeft="10dp"
                android:text=""
                android:textColor="@color/black"
                android:textSize="16dp"
                android:visibility="gone" />


            <TextView
                android:id="@+id/invoice_amount"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/order_id"
                android:layout_centerInParent="true"
                android:layout_marginTop="2dp"
                android:layout_toRightOf="@+id/invoice_image"
                android:ellipsize="end"
                android:maxLines="1"
                android:paddingLeft="10dp"
                android:text=""
                android:textColor="@color/black"
                android:textSize="15sp"
                android:visibility="visible" />

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_marginRight="10dp"
                android:layout_marginTop="5dp"
                android:focusable="false"
                android:src="@drawable/ic_arrow_right_new"
                android:textColor="@color/black" />
        </RelativeLayout>

    </LinearLayout>

</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

检查listview itemclicklistener的这些行: -

        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                                int position, long id {
            Toast.makeText(MainActivity.this, "You Clicked at " + TextView[+position], Toast.LENGTH_SHORT).show();
        }
        });

答案 1 :(得分:0)

删除了父相对布局上的focussable解决了问题。重点是相对布局,因此列表上的点击无效。