TextView中的可点击电话号码

时间:2013-11-05 13:03:59

标签: android

我有一个可能包含电话号码的字符串,我希望该电话号码可以点击,以便点击时拨号盘出现。我用

实现了这个目标
        textView.setAutoLinkMask(Linkify.PHONE_NUMBERS);

问题在Android 2.3上有以下电话号码:555/1233只有数字555才会成为链接的一部分。 我知道我可以过滤掉我的电话号码字符串中的斜线,但我想知道是否有一种方法可以保留斜线并仍然将整个数字链接起来。

我找到了the class sPhoneNumberTransformFilter,但我不知道如何在这里使用它。

任何帮助?

2 个答案:

答案 0 :(得分:1)

你可以这样做

Linkify.TransformFilter filter = new TransformFilter() {
    @Override
    public String transformUrl(Matcher match, String url) {
        return url.replaceAll("/", "");
    }
};

Pattern pattern = Pattern.compile("[0-9/]+");
Linkify.addLinks(tv, pattern, "tel:", null, filter);

答案 1 :(得分:0)

TextView myCustomLink3 = (TextView) findViewById(R.id.test);
Pattern pattern3 = Pattern.compile("[0-9]{3}/[0-9]{3}");
myCustomLink3.setText("123/999");
Linkify.addLinks(myCustomLink3, pattern3, "tel:", null, filter);

}

Linkify.TransformFilter filter = new TransformFilter() {
    @Override
    public String transformUrl(Matcher match, String url) {
        return url;
    }
};