【发布时间】:2011-09-16 21:34:43
【问题描述】:
在我的应用程序中,我将单词列表存储在一个字符串数组中,并将它们的定义存储在 strings.xml 中的另一个数组中。如果任何定义包含其他词,我想在这些词下划线。所以在这个活动之前,在后台我做了什么,对于每个描述,我搜索单词列表的数组,如果匹配的话,用超链接的单词替换单词。
点击单词时,应该转到具有相应定义的单词。该活动包含 2 个文本视图,一个带有单词和定义。我怎样才能做到这一点?请帮忙..
【问题讨论】:
在我的应用程序中,我将单词列表存储在一个字符串数组中,并将它们的定义存储在 strings.xml 中的另一个数组中。如果任何定义包含其他词,我想在这些词下划线。所以在这个活动之前,在后台我做了什么,对于每个描述,我搜索单词列表的数组,如果匹配的话,用超链接的单词替换单词。
点击单词时,应该转到具有相应定义的单词。该活动包含 2 个文本视图,一个带有单词和定义。我怎样才能做到这一点?请帮忙..
【问题讨论】:
android.text.util.Linkify 是你的朋友。它将使用一些匹配过滤器搜索字符串的出现,具体实现取决于您。然后它将生成包含可点击跨度(超链接)的 Spannable 字符串。 要显示结果,可以使用例如 WebView,但要在 WebView 中显示 Spannable,必须先使用 android.text.Html.toHtml() 将其转换为 Html,然后将其显示为 html 文本。
【讨论】:
如果您希望文本视图可点击并打开 url,您需要添加此属性 android:autoLink="web"
【讨论】: