URL作为android中listview中的链接

时间:2015-04-27 23:33:18

标签: android listview hyperlink html-parsing

我是Android新手,我正在尝试为Android项目做贡献。有消息的列表视图,当用户点击和特定消息时,另一个视图打开并显示详细信息,如下图所示(android视图)。

android view

所有这些信息都是从网上获取并解析的。并且链接在Web视图上也不可点击,如下图(webview)所示,

web view

它未在webview上显示为超链接。我认为这也是它在Android应用程序中不显示链接的原因。

有人可以帮我这个吗?与此相关的代码可在以下位置找到:here  相关文件是:

\scraper\MessagesScraper.java , 
\scraper\SingleMessageScraper.java , 
\ui\messages.java 
\ui\SingleMessage.java

任何帮助都会很棒。提前谢谢。

3 个答案:

答案 0 :(得分:1)

在您的XMl中,只要您定义特定的TextView,就将以下内容添加到该TextView

 android:linksClickable="true"

另请参阅How do I make links in a TextView clickable?,例如,如果您想隐藏网址,只显示该链接的一些文字。

编辑:据我所知......

MessageScraper正在使用ThreeLineAdapter - https://github.com/pradeepb6/TuCanMobile/blob/master/src/com/dalthed/tucan/adapters/ThreeLinesAdapter.java您可以在此处查看所有TextView,然后转到res文件夹并相应地更改它们。

SingleMessageScraper似乎只是使用标准的ArrayAdapter和Androids Simple_list_Item_1进行布局。 http://developer.android.com/reference/android/R.layout.html#simple_list_item_1因此,如果您需要为此创建自己的list_item布局,如果使用已创建的布局是没有意义的。

我认为UI类不需要改变。

Re:评论 - 单个消息(如图所示)是TextViews的列表视图。如果您希望每个单元格中有更多内容,也可以使用自定义视图的列表视图,这就是ThreeLineAdapter正在处理的内容。

答案 1 :(得分:1)

如果您在ListView的TextView功能中使用getView, 您可以使用Linkify将链接转换为网址

TextView textView = (TextView) findViewById(R.id.textView);
textView.setText("http://www.example.com");
Linkify.addLinks(textView, Linkify.WEB_URLS);

答案 2 :(得分:0)

WebView.getSettings()setJavaScriptEnabled(真);