带有可点击链接的ListView项目无法点击

时间:2015-06-03 07:26:03

标签: android listview android-listview listviewitem

为什么item包含web链接时不可点击(android:autoLink =“web”)。如何使工作和链接,并选择列表中的项目?我试图在根元素“android:descendantFocusability =”blocksDescendants“中设置属性,但它没有帮助当我点击 1 项目未被选中时,只需打开链接当我点击 2 项目时,选择。谢谢。请抱歉我的英文 enter image description here 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: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>

1 个答案:

答案 0 :(得分:1)

有两种可能的解决方案。首先,您可以在TextView中使用autoLink标志:

android:autoLink="web"

另一种方法是以编程方式在TextView上使用setMovementMethod:

textView.setMovementMethod(LinkMovementMethod.getInstance());

我希望它适合你。