ListView item with clickable link is not available

Why is the element not clickable when it contains web links (android: autoLink = "web"). How to make both links and selects an item in the list work? I tried to set a property on the root element "android: descendantFocusability =" blocksDescendants " but that didn't work When I clicked 1 the item is not selected, just open the link When I clicked 2 the item is selected. Thanks. Sorry for my english enter image description hereXML

<?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:orientation="horizontal"
    android:padding="3dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/items_selector"
        android:descendantFocusability="beforeDescendants"
        android:orientation="vertical"
        android:padding="2dp">

        <TextView
            android:id="@+id/messageText"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:autoLink="web"
            android:padding="@dimen/layout_margin"
            android:text=""/>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#F5F5F5"
            android:descendantFocusability="afterDescendants"
            android:orientation="horizontal"
            android:paddingBottom="5dp"
            android:paddingLeft="5dp"
            android:paddingRight="5dp">

            <LinearLayout
                android:id="@+id/info"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal">

                <TextView
                    android:id="@+id/userNick"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:text="goest"
                    android:textSize="12sp"
                    android:textStyle="bold"/>

                <TextView
                    android:id="@+id/messageDate"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="5dp"
                    android:layout_toRightOf="@id/userNick"
                    android:text="57 . "
                    android:textSize="12sp"/>
            </LinearLayout>


            <LinearLayout
                android:id="@+id/ratingLayout"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:layout_marginLeft="10dp"
                android:layout_toRightOf="@id/info"
                android:gravity="center"
                android:orientation="horizontal">

                <ImageView
                    android:id="@+id/like"
                    android:layout_width="12dp"
                    android:layout_height="12dp"
                    android:background="@drawable/like"
                    android:clickable="true"/>

                <TextView
                    android:id="@+id/likeCount"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginRight="5dp"
                    android:textSize="12sp"/>

                <ImageView
                    android:id="@+id/dislike"
                    android:layout_width="12dp"
                    android:layout_height="12dp"
                    android:background="@drawable/dislike"
                    android:clickable="true"/>

                <TextView
                    android:id="@+id/dislikeCount"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="12sp"/>

            </LinearLayout>

        </RelativeLayout>

    </LinearLayout>

</LinearLayout>

      

+3


source to share


1 answer


There are two possible solutions. First of all, you can use the autoLink flag on the TextView:

android:autoLink="web"

      

Another way is to use setMovementMethod on the TextView programmatically:



textView.setMovementMethod(LinkMovementMethod.getInstance());

      

I hope this works for you.

+1


source







All Articles