如何在Android中单击字符串


<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="legalText">

通过使用此XXXXXXXXXX应用程序,我同意使用条款和隐私策略通知 [[需要官方名称]] 在此应用中。我了解此xxxxxxxxx应用程序的使用自负和酌处权。我了解并同意,在此应用程序中,我给XXXXXXX提供的健康信息是真实的,将是XXXXXXXXXXX在我的评估和治疗过程中XXXXXXXXXX提供商使用的唯一健康信息来源。另外,作为我使用xxxxxxxx应用程序的一部分,我同意我不会将此应用程序用于xxxxxxxxx禁止的任何目的,xxxxxxxxx使用条款 [[link tor Terme] telehealth [[链接链接符合远程医疗的同意] ",并同意请求医疗服务 [插入链接链接以同意请求医疗服务]

</string>
</resources>

我需要在此XML文件中的支架位置放置到其他XML页面和HTML页面的链接。我该怎么做?

这是您可以做的:

  1. 将一个字符串分为几个字符串资源(至少将应用程序名称分开,并链接到其他字符串资源。
  2. 通过连接步骤1中的子字符串来构成完整的legalText。使用链接的子字符串使用<a href= "link"><a/>标签。当您获得想法时,您可以相应地为其余的子字样设计。
  3. 使用Html.fromHtml方法显示格式:

    Spannable text = (Spannable)Html.fromHtml(legalText);
    //this one here to get the links clickable:        
    textView.setMovementMethod(LinkMovementMethod.getInstance());
    textView.setText(text);
    
  4. 您可能需要摆脱额外的下划线,因此使用此方法:

    private void stripUnderlines(TextView textView) {
        Spannable s = (Spannable)textView.getText();
        URLSpan[] spans = s.getSpans(0, s.length(), URLSpan.class);
        for (URLSpan span: spans) {
            int start = s.getSpanStart(span);
            int end = s.getSpanEnd(span);
            s.removeSpan(span);
            span = new URLSpanNoUnderline(span.getURL());
            s.setSpan(span, start, end, 0);
        }
        textView.setText(s);
    }
    

据我所知,不可能将链接直接添加到字符串中,但是您可以创建不同的字符串并使用不同的文本视图组装文本,并将onclickListeners设置为您要添加链接的文本视图。

如果您在Java和Android Studio中开发,则只需在文本视图上设置一个onclicklistener,就像按钮相同的方式。

您还应该添加样式,例如下划线或颜色,以使用户知道有一个链接。

最新更新