Есть ли способ скрыть телефонный код страны в Android Studio - PullRequest
0 голосов
/ 28 мая 2019

Мне нужно добавить код страны к номерам телефонов, чтобы набирать его с Android, но я хотел бы отображать номера телефонов без кода страны. Я могу заставить работать звонилку, используя setText() для номера телефона (с кодом страны) в Java и добавив Autolink в XML.

Однако я не могу найти способ отображения номера телефона без кода страны, т. Е. При использовании <a href= у вас может быть текст, отличный от фактической гиперссылки.

Итак, я хочу отобразить 01234 567890, но набрать +441234567890.

Я пытался использовать этот HTML-код в строке, но он не работает:

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

Ответы [ 2 ]

0 голосов
/ 28 мая 2019

Используйте 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);

Возможно, вам также понадобится добавить clickable:true в ваш XML.

Или, если ваш TextView содержит только число,Вы можете установить прослушиватель щелчков на весь TextView и запустить там оттуда

0 голосов
/ 28 мая 2019

Вы можете удалить первые три символа вашей строки:

numberString.substring(3);

, и она вернет вам: 01234 567890

Надеюсь, это поможет вам:)

...