textview包含listview中的链接

时间:2013-07-09 23:46:26

标签: android listview textview

我在点击链接时遇到问题。

您可以使用以下链接显示链接:

<ListView
    android:id="@+id/newsListview"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:linksClickable="true"
    android:autoLink="all"        
    >
</ListView>

// **s** contains mixed text with multiple links in    
textview.setText(Html.fromHtml(s)); 

但是,在文本视图中单击,该事件将被

捕获
  OnItemClickListener eventClickListener = new OnItemClickListener()  
  {                                
    public void onItemClick(AdapterView<?> parent, View v, int position, long id) 
    {                           
      MyListItemExt data = myItemsDataArrayList.get(position);              
      //...
      Intent paramIntent = new Intent(thisActivityContext, Browser.class);
      //...
    }
  }
  newsListView.setOnItemClickListener(eventClickListener);

有些人建议使用

textview.setMovementMethod(LinkMovementMethod.getInstance());

但是1)它似乎禁用所有链接和2)我不明白阅读文档为什么这会有所帮助

现在,我已经看到了一些关于使用意图过滤器的建议(以避免外部浏览器打开),但只要点击被listview捕获,我认为它不会产生任何差异,因为链接点击是据我所知,并没有全部抓住。

1 个答案:

答案 0 :(得分:0)

在textview的XML中,添加行

android:autoLink="web"
android:textIsSelectable="false"

然后,对于整个视图(包含行的线性或相对布局),在onClickListener中添加getView()。它并不优雅,但它是我以前必须这样做的方式。