我有一个这样的文本视图:
<TextView
android:id="@+id/note_viewer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:autoLink="email|web|phone"
android:textSize="15sp" />
还有一个像这样的 Spannable 字符串:
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());
还有一个像这样的自定义 `URLSpan 类:
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);
}}
但是当我使用自动链接时,我的自定义可点击范围不起作用。如何同时使用自动链接和我自己的可点击跨度?