Android 无法在TextView中插入自定义链接

Android 无法在TextView中插入自定义链接,android,hyperlink,textview,linkify,Android,Hyperlink,Textview,Linkify,我正在尝试插入到TextView的链接,以使它们开始新的活动。我为我的Utils类编写了一个方法: public static final String tagPattern = "#([^ ]+)"; public static final String tagReplace = "<a href=\"org.openihs.seendroid://display/tag/$1/\">#$1</a>"; public static final String userPa

我正在尝试插入到TextView的链接,以使它们开始新的活动。我为我的
Utils
类编写了一个方法:

public static final String tagPattern = "#([^ ]+)";
public static final String tagReplace = "<a href=\"org.openihs.seendroid://display/tag/$1/\">#$1</a>";
public static final String userPattern = "@([^ ]+)";
public static final String userReplace = "<a href=\"org.openihs.seendroid://display/user/$1/\">@$1</a>";
static public void linkify(TextView view) {
    String text = view.getText().toString();
    text = text.replaceAll(Utils.tagPattern, Utils.tagReplace);
    text = text.replaceAll(Utils.userPattern, Utils.userReplace);
    view.setMovementMethod(LinkMovementMethod.getInstance());
    view.setText(Html.fromHtml(text));
    Log.d("SeenDroid", text);
    Linkify.addLinks(view, Linkify.ALL);
}
publicstaticfinalstringtagpattern=“#([^]+)”;
公共静态最终字符串tagReplace=“”;
公共静态最终字符串userPattern=“@([^]+)”;
公共静态最终字符串userReplace=“”;
静态公共void linkify(文本视图){
String text=view.getText().toString();
text=text.replaceAll(Utils.tagPattern,Utils.tagReplace);
text=text.replaceAll(Utils.userPattern,Utils.userReplace);
view.setMovementMethod(LinkMovementMethod.getInstance());
view.setText(Html.fromHtml(text));
Log.d(“SeenDroid”,文本);
Linkify.addLinks(视图,Linkify.ALL);
}
(至logcat的)输出示例如下:

foobazhttp://google.fr/
而真正的UI是作为链接(预期行为)提供的,而
#bar
是作为普通文本提供的(意外行为)

文本视图位于列表视图中

有什么办法解决这个问题吗

问候,,
ProgVal

不要执行替换操作
Html.fromHtml
已正确处理标记

Linkify的工作方式与您尝试使用它的方式略有不同

public static final String AUTHORITY = "your_package.your_content_provider";
public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/tag/");
Pattern pattern = Pattern.compile(tagPattern);
Linkify.addLinks(view, pattern, CONTENT_URI.toString());

其中CONTENT_URI指的是您在清单中注册的内容。

当用户单击时,
Html.fromHtml
如何知道我想要35; tag和@user启动SearchTagActivity和ShowUserActivity?哦,等等。我忘了提供图案。第一篇文章编辑。
public static final String AUTHORITY = "your_package.your_content_provider";
public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/tag/");
Pattern pattern = Pattern.compile(tagPattern);
Linkify.addLinks(view, pattern, CONTENT_URI.toString());