0

Ich bin sehr neu in der Android-Programmierung und wurde an Bord gebracht, um ein Projekt zu beenden. Ich versuche, eine Benachrichtigung zu erstellen, die Links zu Telefonnummern und Adressen enthält, auf die beim Klicken die Dialer- bzw. Standardkarten-App gestartet wird.Ich konnte nicht auf Linkify Elemente klicken

Gerade jetzt mein aktueller Ansatz:

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(); 

scheint zu funktionieren, da sie sowohl die Telefonnummer und Adresse als Links erkennen (hebt sie und unterstreicht sie), aber wenn ich auf sie geschieht nichts zu klicken versuchen. Ich habe das Gefühl, dass ich vermisse eine einfache Eigenschaft oder etwas zu sagen, dass ich klicken darf, aber ich kann nichts finden!

Antwort

1

Ganz einfach:

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;