我需要在电话号码中添加国家/地区代码,以便从Android拨打电话,但是我想显示没有国家/地区代码的电话号码。我可以使用setText()
作为Java中的电话号码(带有国家/地区代码)并在XML中添加自动链接来使拨号程序正常工作。
但是,我似乎找不到没有国家/地区代码的显示电话号码的方法,例如,使用<a href=
时,您可以使用与实际超链接不同的文本。
所以我想显示01234 567890
,但要拨+441234567890
。
我尝试在字符串中使用此HTML,但是它不起作用:
<a href="tel:+441234567890">01234 567890</a>
答案 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
上设置点击监听器,然后从那里启动拨号程序