2

What is happening: I have btnFavId(ImageView) in adapter of listview

What is happening:

  1. When i click the row i am detecting click on btnFavId(ImageView)
  2. How can i avoid that so that only if i clickbtnFavId(ImageView) i get a click event on 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>

Devrath
  • 42,072
  • 54
  • 195
  • 297
  • u need to add on click listener in the java code of the adapter. Check this for ref http://stackoverflow.com/questions/12596199/android-how-to-set-onclick-event-for-button-in-list-item-of-listview – WISHY Dec 17 '14 at 09:12
  • hope this one helps you http://stackoverflow.com/questions/32264186/how-to-increase-or-decrease-value-of-edittext-in-listviews-each-row – Aditya Aug 28 '15 at 07:58

1 Answers1

0

Because your ImageView is getting the focus. That's why it detecting the click.Set focusable false for the ImageView in your xml file.It will work.ex-

android:focusable="false"
Chandra Sharma
  • 1,339
  • 1
  • 12
  • 26