2 o casper ne O_Casper_ne 于 2012.10.31 16:55 提问

使用Linkify给textview添加链接

我想运用以下代码给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

是哪里出错了呢?

2个回答

LiDaming_and
LiDaming_and   2012.10.31 17:52
已采纳

你应该使用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);
nana4ever
nana4ever   2012.11.01 17:40

如果你想用连接替换你所说的WordToBeLinked,你可以使用重载的方法和一个转换过滤器重写最后的url

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!