在Android中单击电子邮件时,主题总是空的

在Android中单击电子邮件时,主题总是空的,android,xamarin,textview,mailto,autolink,Android,Xamarin,Textview,Mailto,Autolink,我正在开发一个应用程序,我添加了一个带有autoLink=“email”的简单文本视图 我的字符串如下所示: <string name="lblContactUs">Federico Navarrete <a href="mailto:fanm_45@outlook.com?Subject=Contact%20Us%TipSal" target="_top">fanm_45@outlook.com</a></string> <a hre

我正在开发一个应用程序,我添加了一个带有autoLink=“email”的简单文本视图


我的字符串如下所示:

<string name="lblContactUs">Federico Navarrete <a href="mailto:fanm_45@outlook.com?Subject=Contact%20Us%TipSal" target="_top">fanm_45@outlook.com</a></string>
<a href="mailto:fanm_45@outlook.com?Subject=Contact%20Us%TipSal">Contact us</a>
费德里科·纳瓦雷特 通常,当我点击链接时,主题是空的

此外,我注意到,如果我的标签中没有真正的电子邮件:

<a href="mailto:fanm_45@outlook.com?Subject=Contact%20Us%TipSal">fanm_45@outlook.com</a>

然而,我有这样的想法:

<string name="lblContactUs">Federico Navarrete <a href="mailto:fanm_45@outlook.com?Subject=Contact%20Us%TipSal" target="_top">fanm_45@outlook.com</a></string>
<a href="mailto:fanm_45@outlook.com?Subject=Contact%20Us%TipSal">Contact us</a>

链接没有任何作用,代码被完全忽略。有人知道我应该改变什么吗?或者为什么不工作

PS:
我已经在Gmail和Blue Mail客户端上进行了测试,得到了相同的结果。

我认为textview无法识别此

为了达到您的要求,您应该使用客户范围进行邮件发送

1。使用
ClickableSpan

class MyURLSpan : ClickableSpan
{
    MainActivity mActivity;

    public MyURLSpan(MainActivity activity)
    {
        mActivity = activity;
    }
    public override void OnClick(View widget)
    {
        Intent email = new Intent(Intent.ActionSend);
        email.SetType("text/plain"); 
        //real device please use  email.SetType("message/rfc822");
        email.PutExtra(Intent.ExtraEmail, "mikexxma@outlook.com");  
        email.PutExtra(Intent.ExtraSubject, "hello");    
        email.PutExtra(Intent.ExtraText, "hello mike ma");
        mActivity.StartActivity(email);
    }
}
2。将单击侦听器添加到文本:

private SpannableString getClickableSpan()
{
    string s = "contact me";
    SpannableString sp = new SpannableString(s);
    sp.SetSpan(new MyURLSpan(this), 0, s.Length, SpanTypes.InclusiveInclusive);
    return sp;
}
protected override void OnCreate(Bundle bundle)
{
    base.OnCreate(bundle);

    // Set our view from the "main" layout resource
     SetContentView (Resource.Layout.Main);
    mailTV = (TextView)FindViewById(Resource.Id.textView2);
    mailTV.SetText(getClickableSpan(), TextView.BufferType.Spannable);         
    mailTV.MovementMethod = LinkMovementMethod.Instance;
}
3。将范围设置为
文本视图

private SpannableString getClickableSpan()
{
    string s = "contact me";
    SpannableString sp = new SpannableString(s);
    sp.SetSpan(new MyURLSpan(this), 0, s.Length, SpanTypes.InclusiveInclusive);
    return sp;
}
protected override void OnCreate(Bundle bundle)
{
    base.OnCreate(bundle);

    // Set our view from the "main" layout resource
     SetContentView (Resource.Layout.Main);
    mailTV = (TextView)FindViewById(Resource.Id.textView2);
    mailTV.SetText(getClickableSpan(), TextView.BufferType.Spannable);         
    mailTV.MovementMethod = LinkMovementMethod.Instance;
}
你可以找到:


我认为textview无法识别此

为了达到您的要求,您应该使用客户范围进行邮件发送

1。使用
ClickableSpan

class MyURLSpan : ClickableSpan
{
    MainActivity mActivity;

    public MyURLSpan(MainActivity activity)
    {
        mActivity = activity;
    }
    public override void OnClick(View widget)
    {
        Intent email = new Intent(Intent.ActionSend);
        email.SetType("text/plain"); 
        //real device please use  email.SetType("message/rfc822");
        email.PutExtra(Intent.ExtraEmail, "mikexxma@outlook.com");  
        email.PutExtra(Intent.ExtraSubject, "hello");    
        email.PutExtra(Intent.ExtraText, "hello mike ma");
        mActivity.StartActivity(email);
    }
}
2。将单击侦听器添加到文本:

private SpannableString getClickableSpan()
{
    string s = "contact me";
    SpannableString sp = new SpannableString(s);
    sp.SetSpan(new MyURLSpan(this), 0, s.Length, SpanTypes.InclusiveInclusive);
    return sp;
}
protected override void OnCreate(Bundle bundle)
{
    base.OnCreate(bundle);

    // Set our view from the "main" layout resource
     SetContentView (Resource.Layout.Main);
    mailTV = (TextView)FindViewById(Resource.Id.textView2);
    mailTV.SetText(getClickableSpan(), TextView.BufferType.Spannable);         
    mailTV.MovementMethod = LinkMovementMethod.Instance;
}
3。将范围设置为
文本视图

private SpannableString getClickableSpan()
{
    string s = "contact me";
    SpannableString sp = new SpannableString(s);
    sp.SetSpan(new MyURLSpan(this), 0, s.Length, SpanTypes.InclusiveInclusive);
    return sp;
}
protected override void OnCreate(Bundle bundle)
{
    base.OnCreate(bundle);

    // Set our view from the "main" layout resource
     SetContentView (Resource.Layout.Main);
    mailTV = (TextView)FindViewById(Resource.Id.textView2);
    mailTV.SetText(getClickableSpan(), TextView.BufferType.Spannable);         
    mailTV.MovementMethod = LinkMovementMethod.Instance;
}
你可以找到:


Hi可能重复,如果您看到代码:“”,我看不出有什么区别。这和我在这里看到的是一样的:我已经尝试过了,还有clickable选项。Hi可能重复,如果你看到代码:“”,我看不出有什么区别。这和我在这里看到的是一样的:我已经尝试过了,还有点击选项。谢谢你的答案是超级惊人的:D。谢谢你的答案是超级惊人的:D。