Android: Einstellung onClickListener auf einen Teil von text in einem TextView - Problem

Ich versuche zu erkennen, hashtags in meiner TextView und anklickbar gemacht, so dass ich nehmen kann, den Benutzer auf eine andere Ansicht, wenn Sie klicken Sie auf den Hashtag.

Ich identifizieren konnte, Hashtags in die TextView mit Pattern-Matching und Sie farbig erscheinen in der Runtime. Allerdings muss ich machen das Hashtag klickbar.

Hier ist mein Code:

 SpannableString hashText = new SpannableString("I just watched #StarWars and it was incredible. It's a #MustWatch #StarWars");
 Matcher matcher = Pattern.compile("#([A-Za-z0-9_-]+)").matcher(hashText);

 while (matcher.find())
 {
          hashText.setSpan(new ForegroundColorSpan(Color.parseColor("#000763")), matcher.start(), matcher.end(), 0);
          String tag = matcher.group(0);
 }

 holder.caption.setText(hashText);

 //I need to set an OnClick listener to all the Hashtags recognised

Verwenden die gleiche Lösung vor, wie kann ich onclick-Listener für jede hashtag?

  • gibt es Bibliotheken gibt, um das gleiche zu tun, check this out : github.com/Danylo2006/HashTagHelper
  • Sieht aus wie die Bibliothek ist nicht verfügbar für die minimale sdk 9 🙁
  • versuchen einfügen die 2 java Dateien in Ihr Paket. (HashTagHelper und ClickableForegroundColorSpan)
InformationsquelleAutor Dinuka | 2015-12-31
Schreibe einen Kommentar