I have a textView like this:
<TextView
android:id="@+id/note_viewer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:autoLink="email|web|phone"
android:textSize="15sp" />
And a Spannable string like this:
String input = note.getText();
SpannableStringBuilder builder = new SpannableStringBuilder(input);
Pattern pattern = Pattern.compile(XTAG_PATTERN);
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
int start = matcher.start();
int end = matcher.end();
String text = input.subSequence(start, end).toString();
ClickableURLSpan url = new ClickableURLSpan(text, getActivity()
.getApplicationContext(), this);
builder.setSpan(url, start, end, 0);
}
noteView.setText(builder);
noteView.setMovementMethod(LinkMovementMethod.getInstance());
And a custom `URLSpan class like this:
public class ClickableURLSpan extends URLSpan {
Context context;
NoteViewFragment noteViewFragment;
public ClickableURLSpan(String url,Context c, NoteViewFragment noteViewFragment) {
super(url);
context=c;
this.noteViewFragment=noteViewFragment;
}
@Override
public void onClick(View widget) {
String clickedText = getURL();
Intent i=new Intent(context,SearchActivity.class);
i.putExtra("tag", clickedText);
noteViewFragment.startActivity(i);
}}
But when I'm using autolink my custom clickable span doesn't work. How do I use both autolink and my own clickable span together?
Change spanable string as: