كيفية جعل روابط HTML في عنصر ListView قابلة للتركيز؟
سؤال
أريد أن أجعل تطبيقًا مشابهًا تمامًا لعميل Twitter الرسمي لنظام Android.
في عنصر ListView الخاص بي ، هناك TextView يحتوي على بعض محتوى HTML ، وآمل أن تكون الروابط الموجودة داخلها قابلة للتركيز وقابلة للنقر ، لقد استخدمت:
getListView().setItemsCanFocus(true);
لكنها لا تزال لا تعمل ، لا أعرف السبب.
التصميم مثل هذا:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/item"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="6dip"
android:background="#FFFFFF">
<ImageView android:id="@+id/avatar"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginRight="6dip"
android:src="@drawable/default_happy_face" />
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<RelativeLayout
android:id="@+id/linearBanner"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="20dip">
<TextView android:id="@+id/txtNickname"
android:layout_width="wrap_content"
android:textColor="#1C86EE"
android:text="mmLiu" android:layout_height="fill_parent"/>
<ImageView android:id="@+id/verified"
android:layout_width="24dip"
android:layout_height="24dip"
android:paddingLeft="4dip"
android:layout_toRightOf="@id/txtNickname"
android:background="@drawable/verified"/>
<TextView android:id="@+id/txtTime"
android:textColor="#999999"
android:layout_height="fill_parent"
android:layout_alignTop="@+id/txtNickname"
android:layout_alignRight="@layout/notice_item" android:layout_toRightOf="@+id/verified" android:layout_width="fill_parent" android:gravity="right" android:text="半个小时前"/>
</RelativeLayout>
<TextView android:id="@+id/txtContent"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#050505"
android:text="!时尚起义 波点连衣裙原价116,现价69素雅波点拼接长裙,素色上装搭配雪纺波点短裙,优雅恬静,非你莫属!【商家地址:http://1net.cn/8wf】#服饰#" android:clickable="true"/>
</LinearLayout>
</LinearLayout>
آمل أن تركز الروابط بدلاً من العنصر بأكمله ، وقد تمت مناقشة هذه المشكلة في Google IO ، انظر هنا والحل هو getListView (). setItemScanfocus (true) ؛ لكنها لا تعمل بالنسبة لي.
لقد استخدمت محولًا comStimized الذي يمتد إلى BaseAdapter ، لا أعرف ما إذا كان ذلك قد تم القيام به.
أي واحد؟ أي مساعدة ؟
المحلول
وجدت الحل بنفسي:
إذا كنت تريد الرابط الموجود في TextView Clickable ، فيجب عليك إضافة سطر آخر:
yourTextView.setMovementMethod(LinkMovementMethod.getInstance());
بجانب
getListView().setItemsCanFocus(true);
هذا كل شئ.
انظر الرابط: هنا
لا تنتمي إلى StackOverflow