android - Linkify 将文本添加到链接末尾

标签 android textview 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 以某种方式将“WordToBeLinked”添加到 URL,因此被调用的 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);

由于您的案例中没有模式和方案,因此它们只是占位符。

关于android - Linkify 将文本添加到链接末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6358437/

相关文章:

Android Linkify web 和 @mentions 都在同一个 TextView 中

php - Linkify 正则表达式函数 PHP 大胆的火球方法

linkify - Android Espresso 和 Linkify

java - 多个 observable 完成后做某事

android - 如何检测点击按钮,webview中的视频元素?

android - 如果两个 TextView 重叠,则使 TextView 可滚动

android - 在一个 View 类中组合多个 UI 元素

javascript - 使用正则表达式链接单词

android - 关闭对话框时遇到问题

java - UtteranceProgressListener 不适用于 Android TTS