Onclick无法在android中的listrow中检测到

时间:2014-06-28 06:57:32

标签: android

发生了什么 ::

  • 我无法通过点击查看我的listrow列表视图
  • 我在说它与可聚焦性有关,因为如果我使用的话 行的不同xml我能够检测到onclick
  • 那么如何检测我的适配器行的onclick如下所述

我的Xml ::

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginBottom="5dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginTop="5dp"
        android:background="@drawable/listview_bg"
        android:orientation="vertical"
        android:shrinkColumns="0"
        android:stretchColumns="1" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="4dp"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/txtBufRestName"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:gravity="bottom"
                android:text="Restaurant Name"
                android:textColor="@android:color/holo_blue_dark"
                android:textSize="18sp" />

            <ImageView
                android:id="@+id/imgBufDistance"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom"
                android:layout_marginRight="1dp"
                android:src="@drawable/distance_flag" />

            <TextView
                android:id="@+id/txtBufDistance"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom"
                android:text="1600"
                android:textColor="@android:color/holo_blue_dark"
                android:textSize="20sp" />

            <TextView
                android:id="@+id/txtBufDistanceUnit"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom"
                android:text="km"
                android:textColor="@android:color/holo_blue_dark"
                android:textSize="12sp" />
        </LinearLayout>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginBottom="4dp"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp" >

            <TextView
                android:id="@+id/txtBufType"
                android:layout_span="3"
                android:layout_weight="1"
                android:text="Buffet Type"
                android:textColor="#636262"
                android:textSize="12sp" />
        </TableRow>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="4dp"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:orientation="horizontal" >

            <ImageView
                android:id="@+id/restRatingBar"
                android:layout_width="61dp"
                android:layout_height="wrap_content"
                android:layout_gravity="left"
                android:gravity="left"
                android:src="@drawable/star_5" />

            <TextView
                android:layout_width="0dp"
                android:layout_height="0dp"
                android:layout_weight="1" />

            <TextView
                android:id="@+id/txtBufTime"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="12:00 Am to 12:00 Pm"
                android:textColor="#636262"
                android:textSize="12sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="4dp"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:orientation="horizontal" >

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1.82"
                android:gravity="center_horizontal|center"
                android:orientation="vertical" >

                <TextView
                    android:id="@+id/txtOnlinePrice"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:text="Txt" />

                <Button
                    android:id="@+id/btnOnlinePrice"
                    android:layout_width="100dp"
                    android:layout_height="48dp"
                    android:background="@drawable/btn_online_selector"
                    android:gravity="center_horizontal|center"
                    android:text="   Buy Now"
                    android:textColor="@android:color/black"
                    android:textSize="12sp" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="2.07"
                android:gravity="center_horizontal|center"
                android:orientation="vertical" >

                <TextView
                    android:id="@+id/txtReservePrice"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:text="Txt" />

                <Button
                    android:id="@+id/btnReservePrice"
                    android:layout_width="100dp"
                    android:layout_height="48dp"
                    android:layout_marginLeft="2dp"
                    android:background="@drawable/button_reserve_selector"
                    android:gravity="center_horizontal|center"
                    android:text="Reserve"
                    android:textColor="@android:color/black"
                    android:textSize="12sp" />
            </LinearLayout>
        </LinearLayout>

        <ImageView
            android:id="@+id/imgBufLogo"
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:background="@android:color/black"
            android:scaleType="fitXY"
            android:src="@drawable/ic_launcher" />
    </TableLayout>

    <TextView
        android:id="@+id/txtBufOffId"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:visibility="invisible" />

    <TextView
        android:id="@+id/txtDescription"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:visibility="invisible" />

    <TextView
        android:id="@+id/txtRating"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:visibility="invisible" />


</LinearLayout>

3 个答案:

答案 0 :(得分:0)

您可以处理它,就像下面的

一样
ListView lvNews = (ListView) findViewById(R.id.lvNews);
lvNews.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1,
                int position, long arg3) {
            // your code

        }

    });

答案 1 :(得分:0)

我能够使用

解决它
android:descendantFocusability="blocksDescendants"

This link helped me in achieving my solution

答案 2 :(得分:0)

您可以将所有可聚焦视图设为false,然后应用onItemClick或任何其他视图,您可以轻松使用listview。

您可以看到给定xml的相关项目示例。 https://drive.google.com/file/d/0B6C9Pqrvc_CWWXBvQ3ZtTEhzYTA/edit?usp=sharing