【问题标题】:Unable to click on Linkify elements无法点击 Linkify 元素
【发布时间】:2016-07-13 16:11:58
【问题描述】:

我对 android 编程非常陌生,并且被带入帮助完成一个项目。我正在尝试创建一个警报,其中包含指向电话号码和地址的链接,单击这些链接将分别启动拨号器和默认地图应用程序。

现在我目前的做法:

Android.App.AlertDialog.Builder builder = new AlertDialog.Builder(activity);
AlertDialog ad = builder.Create();
ad.SetTitle("Quick Info");

var alertMsg = "";
alertMsg += "Address: " + addressString;
alertMsg += "\nPhone Number: " + phoneString;
SpannableString linkedMsg = new SpannableString(alertMsg);
Linkify.AddLinks(linkedMsg, MatchOptions.All);
ad.SetMessage(linkedMsg);
ad.SetButton("OK", (s, er) => { });
ad.Show();

似乎可以工作,因为它将电话号码和地址都识别为链接(突出显示它们并在它们下划线)但是当我尝试单击它们时没有任何反应。我觉得我可能缺少一个简单的属性或可以说我可以点击的东西,但我似乎找不到任何东西!

【问题讨论】:

    标签: android xamarin.android android-alertdialog spannablestring linkify


    【解决方案1】:

    很简单:

    Android.App.AlertDialog.Builder builder = newAlertDialog.Builder(activity);
    AlertDialog ad = builder.Create();
    ad.SetTitle("Quick Info");
    
    var alertMsg = "";
    alertMsg += "Address: " + addressString;
    alertMsg += "\nPhone Number: " + phoneString;
    SpannableString linkedMsg = new SpannableString(alertMsg);
    Linkify.AddLinks(linkedMsg, MatchOptions.All);
    ad.SetMessage(linkedMsg);
    ad.SetButton("OK", (s, er) => { });
    ad.Show();
    
    // major key    
    ((TextView)ad.FindViewById(Android.Resource.Id.Message)).MovementMethod = LinkMovementMethod.Instance;
    

    【讨论】:

      猜你喜欢
      • 2019-09-17
      • 2018-04-02
      • 2019-12-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多