Android 如何将TextView的一部分链接到活动

Android 如何将TextView的一部分链接到活动,android,xamarin.android,Android,Xamarin.android,因此,我有一个文本视图,其中包含一些文本,如下所示 一些文本……一些文本……一些文本……一些文本……一些文本……一些文本……一些文本……href.link……一些其他文本……一些其他文本……一些其他文本……一些其他文本……一些其他文本 我只希望文本的链接部分在单击时启动另一个活动。我试图在Xamarin做到这一点,到目前为止,我已经做到了以下几点: TextView1.SetText(Html.FromHtml("<span>some text...<a href='examp

因此,我有一个文本视图,其中包含一些文本,如下所示

一些文本……一些文本……一些文本……一些文本……一些文本……一些文本……一些文本……href.link……一些其他文本……一些其他文本……一些其他文本……一些其他文本……一些其他文本

我只希望文本的链接部分在单击时启动另一个活动。我试图在Xamarin做到这一点,到目前为止,我已经做到了以下几点:

TextView1.SetText(Html.FromHtml("<span>some text...<a href='example://'></a>...some other text </span>"
我猜这相当于:

<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.VIEW" />
<data android:scheme="example" />  
</intent-filter>


不确定在这里设置什么作为方案。

这就是我在Xamarin做类似事情的方式。我的版面中有一个名为
lblCreateNewAccount
TextView
。在活动的
OnCreate
方法中,我执行以下操作:

TextView lbl = this.FindViewById<TextView> (Resource.Id.lblCreateNewAccount);
lbl.TextFormatted = Android.Text.Html.FromHtml ("<u>Create New Account</u>");
lbl.SetTextColor (Color.ParseColor ("#ffffff"));
Typeface face = Typeface.CreateFromAsset (this.Assets, "fonts/OpenSansRegular.ttf");
lbl.SetTypeface (face, TypefaceStyle.Normal);
lbl.Click += lblCreateNewAccount_Clicked;
基本上,概念是将
文本视图
格式化为
href
,然后执行
单击
事件以导航到下一个活动。不确定这是否是最好、最优雅的方式,但它对我有效


顺便说一句,在这种情况下,您必须使用三个
TextView
控件。

我找到了答案。显然,我必须将此添加到代码(有问题)中,以使其工作-

TextView1.MovementMethod = LinkMovementMethod.Instance;

为了达到你的目标,最好保持两个文本视图非常接近。你可以在html中使用html格式。fromHtml()检查此链接可能会有所帮助。谢谢。实际上,整篇文章太长了,不能把它们放在一行。所以保持三个文本视图是没有帮助的。就像链接出现在段落的中间
void lblCreateNewAccount_Clicked (object sender, EventArgs e)
{
    this.StartActivity (typeof(NewAccountActivity));
}
TextView1.MovementMethod = LinkMovementMethod.Instance;