问题描述
|
我想添加一个链接到textview并具有以下代码:
TextView textview = (TextView) findViewById(R.id.mytext);
Pattern myPattern = Pattern.compile(\"WordToBeLinked\");
String link = \"http://mydomain.com/something\";
Linkify.addLinks(textview,myPattern,link);
因此一切正常运行:单词\“ WordToBeLinked \”被链接,并通过链接打开浏览器,但Linkify不知何故在URL中添加了\“ WordToBeLinked \”,因此被调用的URL如下所示:
http://mydomain.com/somethingWordToBeLinked
有人可以告诉我我做错了什么吗?
谢谢
解决方法
您必须使用TransformFilter。希望对您有所帮助。
TextView textview = (TextView) findViewById(R.id.mytext);
textview .setText(\"WordToBeLinked\");
TransformFilter mentionFilter = new TransformFilter() {
public final String transformUrl(final Matcher match,String url) {
return new String(\"http://mydomain.com/something\");
}
};
Pattern pattern = Pattern.compile(\".\");
String scheme = \"\";
Linkify.addLinks(textview,pattern,scheme,null,mentionFilter);
由于您的情况下没有模式和方案,因此它们只是占位符。
, 这是linkify文档中描述的确切行为。
如果要用链接替换单词,请执行以下操作:
您可以使用重载方法并使用转换过滤器重写最终网址。