【问题标题】:Hyperlink email address in strings.xml file?strings.xml 文件中的超链接电子邮件地址?
【发布时间】:2015-01-12 07:53:07
【问题描述】:

我如何超链接电子邮件地址,以便在单击时将用户带到来自我的 strings.xml 的撰写电子邮件。在我的 strings.xml 文件中,我使用以下内容为普通 url 超链接文本:

<![CDATA[<a href="http://google.com">Google website example</a>]]>

我尝试对电子邮件使用类似的技术,但没有任何反应。

<![CDATA[<a href="mailto:example@gmail.com">Email example</a>]]>

我做错了什么?提前致谢

【问题讨论】:

    标签: android string email


    【解决方案1】:

    您可以使用Linkify 类。 您的 xml 文件中将包含常规字符串,例如:

    <string name="myemail">something@gmail.com</string>
    

    然后在你的代码中:

    String message="Some message ";
    message=message+getResources().getText(R.string.myemail);
    final SpannableString mes = new SpannableString(message);
    Linkify.addLinks(mes, Linkify.EMAIL_ADDRESSES);
    
    //TextView       
    final TextView tx1=new TextView(this);
    tx1.setText(mes);
    tx1.setTextSize(TypedValue.COMPLEX_UNIT_SP, 20);
    tx1.setAutoLinkMask(RESULT_OK);
    tx1.setMovementMethod(LinkMovementMethod.getInstance());
    

    然后,在文本视图中,您将在电子邮件文本上看到一个可点击的链接。

    【讨论】:

    • 让我试试这个。这可能正是我所需要的。谢谢!
    【解决方案2】:

    你可以使用其他方式,你可以在字符串中使用基本的 HTML,如示例所示

    <string name="send_mail"><![CDATA[ <a href="mailto:example@mail.com">email us</a>]]></string>
    

    然后如示例所示创建AlertDialog

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("Data")
        .setIcon(R.drawable.info)
       .setMessage(Html.fromHtml(R.string.send_mail)
       .setCancelable(true)
       .setNegativeButton("OK",null);
    
    AlertDialog welcomeAlert = builder.create();
    welcomeAlert.show();
    // Make the textview clickable. Must be called after show()
    ((TextView)welcomeAlert.findViewById(android.R.id.message)).setMovementMethod(LinkMovementMethod.getInstance());
    

    更多详情,请看这个问题Link

    【讨论】:

      猜你喜欢
      • 2013-08-03
      • 2013-11-25
      • 2011-05-14
      • 1970-01-01
      • 2013-08-25
      • 1970-01-01
      • 2011-05-20
      • 1970-01-01
      相关资源
      最近更新 更多