كيفية جعل روابط HTML في عنصر ListView قابلة للتركيز؟

StackOverflow https://stackoverflow.com/questions/3445753

  •  27-09-2019
  •  | 
  •  

سؤال

أريد أن أجعل تطبيقًا مشابهًا تمامًا لعميل 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);

هذا كل شئ.

انظر الرابط: هنا

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top