Linkify将文本添加到链接末尾

问题描述

| 我想添加一个链接到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文档中描述的确切行为。 如果要用链接替换单词,请执行以下操作: 您可以使用重载方法并使用转换过滤器重写最终网址。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...