Как сделать ссылки HTML в элементе listView фокусируемыми? - PullRequest
0 голосов
/ 10 августа 2010

Я хочу создать приложение, очень похожее на официальный клиент 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);Но это просто не работает для меня.

Я использовал компостимулированный адаптер, который расширяет BaseAdapter, я не знаю, имеет ли он к этому отношение.

Кто-нибудь?любая помощь?

1 Ответ

0 голосов
/ 10 августа 2010

Нашел решение сам:

если вы хотите, чтобы ссылка в TextView была интерактивной, вам нужно добавить еще одну строку:

yourTextView.setMovementMethod(LinkMovementMethod.getInstance());

кроме того

getListView().setItemsCanFocus(true);

Вот и все.

см. Ссылку: здесь

...