【问题标题】:Imageview is detecting click when i detect click on row of listview当我检测到单击列表视图行时,Imageview 正在检测单击
【发布时间】:2014-12-17 09:04:22
【问题描述】:

发生了什么:我在列表视图的适配器中有btnFavId(ImageView)

发生了什么

  1. 当我点击我检测到的行时点击btnFavId(ImageView)
  2. 我怎样才能避免这种情况,只有当我点击btnFavId(ImageView) 我 在btnFavId(ImageView) 上获得点击事件

adapter.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="wrap_content"
    android:descendantFocusability="beforeDescendants"
    android:orientation="vertical"
    android:paddingBottom="10dp"
    android:paddingLeft="5dp"
    android:paddingRight="5dp"
    android:paddingTop="10dp" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/txtMsgNameId"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ellipsize="end"
            android:paddingRight="10dp"
            android:singleLine="true"
            android:text="Name"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="@android:color/black"
            android:textSize="14sp" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/txtLocationId"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Location:"
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:textSize="12sp" />

            <TextView
                android:id="@+id/txtCategoryId"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Category:"
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:textSize="12sp" />

            <TextView
                android:id="@+id/txtAvailId"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Availability:"
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:textSize="12sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:orientation="vertical" >

            <RatingBar
                android:id="@+id/rtngId"
                style="?android:attr/ratingBarStyleSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:numStars="5" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:orientation="horizontal" >

            <ImageView
                android:id="@+id/btnFavId"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/heart_blue" />

            <ImageView
                android:id="@+id/btnPhoneId"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20dp"
                android:background="@drawable/phone_red" />
        </LinearLayout>
    </LinearLayout>

    <TextView
        android:id="@+id/serviceProviderId"
        android:layout_width="0dp"
        android:layout_height="0dp" />

</LinearLayout>

search.xml

<ListView
    android:id="@+id/lst"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:focusable="false" >
</ListView>

【问题讨论】:

标签: android xml android-layout


【解决方案1】:

因为您的 ImageView 正在获得焦点。这就是它检测点击的原因。在你的 xml 文件中为 ImageView 设置可聚焦的 false。它会起作用。ex-

android:focusable="false"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-29
    • 1970-01-01
    • 2015-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多