1

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

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

<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)我不明白阅读文档为什么这会有所帮助

现在,我已经看到了一些关于使用意图过滤器的建议(以避免外部浏览器打开),但只要点击被列表视图捕获,我认为它不会有任何区别,因为链接点击没有被捕获据我所知。

4

1 回答 1

0

在 textview 的 XML 中,添加行

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

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

于 2013-07-10T00:16:26.057 回答