URL作为android中listview中的链接

Posted

技术标签:

【中文标题】URL作为android中listview中的链接【英文标题】:URL as a link in listview in android 【发布时间】:2015-07-06 14:46:54 【问题描述】:

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

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

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

谁能帮我解决这个问题?可以在以下位置找到与此相关的代码:source 相关文件有:

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

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

【问题讨论】:

【参考方案1】:

在您定义特定 TextView 的 XML 中,将以下内容添加到该 TextView

 android:linksClickable="true"

如果您想隐藏 URL 并仅显示链接的一些文本,请参见 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 和 Android 的 Simple_list_Item_1 进行布局。 http://developer.android.com/reference/android/R.layout.html#simple_list_item_1 因此,如果您需要,如果使用已经创建的布局没有意义,您需要为此制作自己的 list_item 布局。

我认为 UI 类不需要任何更改。

Re:评论 - 一条消息(显示在您的图片中)是 TextViews 的列表视图。如果您想在每个单元格中添加更多内容,您还可以拥有自定义视图的列表视图,这就是 ThreeLineAdapter 正在处理的内容。

【讨论】:

这不是文本视图。这是一个列表视图(singlemessage.XML)。 .我试图将其更改为 textview 并运行应用程序,但我得到了一个 fc。 很抱歉给您带来了困惑。所以你应该有一个定义列表视图的 XML。但通常您将有另一个 xml 定义该列表视图中的每个项目,因此如果您有一个 TextView 列表,那么该 TextView 应该在某个地方定义,这就是您要添加它的地方。它看起来 只是 TextViews,但每个单元格实际上是它自己的自定义布局吗?您是使用自定义数据适配器还是仅使用 ArrayAdapter? 非常感谢。我按照您的建议创建了自定义(customlistview.xml)视图并添加了 autoLink=web 并且它可以工作。 :) 太棒了,我很高兴听到这个消息。是的,如果你想做除了最基本的列表项之外的任何事情,那么你必须实现几个 xmls 和带有 getView() 的自定义适配器。放轻松!【参考方案2】:

如果您在 ListView 的 getView 函数中使用 TextView, 您可以使用Linkify 将链接转换为 URL

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

【讨论】:

【参考方案3】:

WebView.getSettings().setjavascriptEnabled(true);

【讨论】:

你能告诉我在哪里可以添加这个吗? 如果你有 WebView 对象,你可以这样使用:mWebView.getSettings().setJavaScriptEnabled(true);

以上是关于URL作为android中listview中的链接的主要内容,如果未能解决你的问题,请参考以下文章

如何将listview项目链接到android中的不同活动?

android小部件内ListView中的多个可点击项目

ListView 上的 LongPress 与 Android 上的超链接

如何在 Android 中播放在线广播流 url。如何在 android 中播放 .pls 广播流 url

如何使用json解析android在listview中获取图像

Android:无法从mysql数据库中检索图像URL并将其显示在imageView中