有没有一种方法可以在Android Studio中隐藏电话国家/地区代码

时间:2019-05-28 12:18:28

标签: android country-codes

我需要在电话号码中添加国家/地区代码,以便从Android拨打电话,但是我想显示没有国家/地区代码的电话号码。我可以使用setText()作为Java中的电话号码(带有国家/地区代码)并在XML中添加自动链接来使拨号程序正常工作。

但是,我似乎找不到没有国家/地区代码的显示电话号码的方法,例如,使用<a href=时,您可以使用与实际超链接不同的文本。

所以我想显示01234 567890,但要拨+441234567890

我尝试在字符串中使用此HTML,但是它不起作用:

<a href="tel:+441234567890">01234 567890</a>

2 个答案:

答案 0 :(得分:0)

您可以删除字符串行的前三个字符:

numberString.substring(3);

,它将返回您: 01234 567890

希望它会对您有所帮助:)

答案 1 :(得分:0)

使用ClickableSpan

final SpannableString span = new SpannableString("01234 567890");
final ClickableSpan onClick = new ClickableSpan() {
    @Override
    public void onClick(View textView) {
        //Launch your Intent to dial the number, with whatever number you like
    }
    @Override
    public void updateDrawState(TextPaint ds) {
        super.updateDrawState(ds);
    }
};
span.setSpan(onClick, 0, span.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

final TextView tv = (TextView) findViewById(R.id.text_view);
tv.setText(span);
textView.setMovementMethod(LinkMovementMethod.getInstance());
textView.setHighlightColor(Color.GREEN);

您可能还需要在XML中添加clickable:true

或者,如果您的TextView仅包含数字,则可以在整个TextView上设置点击监听器,然后从那里启动拨号程序