URL 在 android 的列表视图中作为 link
URL as a link in listview in android
我是 android 的新手,我正在尝试为 android 项目做出贡献。有消息列表视图,当用户单击特定消息时,另一个视图将打开并显示详细信息,如下图所示(android 视图)。
所有这些信息都是从网络上获取并解析的。并且 link 在网络视图中不可点击,如下图(网络视图)所示,
在网络视图中未显示为 hyperlink。我认为这就是它在 android 应用程序中也没有显示为 link 的原因。
有人可以帮我解决这个问题吗?与此相关的代码可以在以下位置找到:source
相关文件是:
\scraper\MessagesScraper.java ,
\scraper\SingleMessageScraper.java ,
\ui\messages.java
\ui\SingleMessage.java
任何帮助都会很棒。提前致谢。
在您的 XMl 中,无论您在哪里定义特定的 TextView,都将以下内容添加到该 TextView
android:linksClickable="true"
如果您想隐藏 URL 并只显示 link 的一些文本,请参阅 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 类 不需要任何更改。
回复:评论 - 一条消息(显示在您的图片中)是 TextView 的列表视图。如果您想在每个单元格中添加更多内容,您还可以拥有自定义视图的列表视图,这就是 ThreeLineAdapter 正在处理的内容。
如果您在 ListView 的 getView
函数中使用 TextView
,
您可以使用 Linkify 将 link 转换为 URL
TextView textView = (TextView) findViewById(R.id.textView);
textView.setText("http://www.example.com");
Linkify.addLinks(textView, Linkify.WEB_URLS);
WebView.getSettings().setJavaScriptEnabled(true);
我是 android 的新手,我正在尝试为 android 项目做出贡献。有消息列表视图,当用户单击特定消息时,另一个视图将打开并显示详细信息,如下图所示(android 视图)。
所有这些信息都是从网络上获取并解析的。并且 link 在网络视图中不可点击,如下图(网络视图)所示,
在网络视图中未显示为 hyperlink。我认为这就是它在 android 应用程序中也没有显示为 link 的原因。
有人可以帮我解决这个问题吗?与此相关的代码可以在以下位置找到:source 相关文件是:
\scraper\MessagesScraper.java ,
\scraper\SingleMessageScraper.java ,
\ui\messages.java
\ui\SingleMessage.java
任何帮助都会很棒。提前致谢。
在您的 XMl 中,无论您在哪里定义特定的 TextView,都将以下内容添加到该 TextView
android:linksClickable="true"
如果您想隐藏 URL 并只显示 link 的一些文本,请参阅 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 类 不需要任何更改。
回复:评论 - 一条消息(显示在您的图片中)是 TextView 的列表视图。如果您想在每个单元格中添加更多内容,您还可以拥有自定义视图的列表视图,这就是 ThreeLineAdapter 正在处理的内容。
如果您在 ListView 的 getView
函数中使用 TextView
,
您可以使用 Linkify 将 link 转换为 URL
TextView textView = (TextView) findViewById(R.id.textView);
textView.setText("http://www.example.com");
Linkify.addLinks(textView, Linkify.WEB_URLS);
WebView.getSettings().setJavaScriptEnabled(true);