为什么item包含web链接时不可点击(android:autoLink =“web”)。如何使工作和链接,并选择列表中的项目?我试图在根元素“android:descendantFocusability =”blocksDescendants“中设置属性,但它没有帮助当我点击 1 项目未被选中时,只需打开链接当我点击 2 项目时,选择。谢谢。请抱歉我的英文 的 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>
答案 0 :(得分:1)
有两种可能的解决方案。首先,您可以在TextView中使用autoLink标志:
android:autoLink="web"
另一种方法是以编程方式在TextView上使用setMovementMethod:
textView.setMovementMethod(LinkMovementMethod.getInstance());
我希望它适合你。