如何使listView项中的HTML链接可聚焦?

时间:2010-08-10 03:06:34

标签: android listview focusable

我想创建一个与Android官方Twitter客户端非常相似的应用程序。

在我的listView Item中,有一个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中讨论过,请参阅here,解决方法是getListView()。setItemsCanFocus(true); 但它对我不起作用。

我使用了一个扩展BaseAdapter的comstimized适配器,我不知道它是否与它有关。

人?有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

自己找到解决方案:

如果您希望TextView中的链接可单击,则应再添加一行:

yourTextView.setMovementMethod(LinkMovementMethod.getInstance());

除了

getListView().setItemsCanFocus(true);

就是这样。

请参阅链接:here