Como tornar os links HTML em um item da ListView focalizável?
Pergunta
Eu quero fazer um aplicativo que seja bastante semelhante ao cliente oficial do Twitter para o Android.
No meu item ListView, há um TextView que possui algum conteúdo HTML, espero que os links nele possam ser focados e clicáveis, eu usei:
getListView().setItemsCanFocus(true);
Mas ainda não funciona, não sei por quê.
O layout é assim:
<?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>
Espero que os links possam ser focados em vez de todo o item, esse problema foi discutido no Google IO, veja aqui e a solução é getListView (). setItemScanfocus (true); Mas simplesmente não funciona para mim.
Usei um adaptador comestimizado que estende o BaseAdapter, não sei se isso tem sth a ver com isso.
alguém? qualquer ajuda ?
Solução
Encontrei a solução sozinha:
Se você deseja o link no TextView Clickable, adicione mais uma linha:
yourTextView.setMovementMethod(LinkMovementMethod.getInstance());
além do mais
getListView().setItemsCanFocus(true);
Isso é tudo.
Veja o link: aqui