Проблема с Textview при использовании автоссылки

Каждый раз, когда я использую autoLink = "все" в TextView, он неправильно выполняет автоматическое связывание мобильного номера. Он также автоматически связывает предыдущий Номер (номер из текстового, а не мобильного номера).

Вот макет

<TextView
    android:id = "@+id/text"
    android:layout_width = "wrap_content"
    android:layout_height = "wrap_content"
    android:text = "Hello World!"
    android:autoLink = "all"
    android:textIsSelectable = "true"
    app:layout_constraintBottom_toBottomOf = "parent"
    app:layout_constraintLeft_toLeftOf = "parent"
    app:layout_constraintRight_toRightOf = "parent"
    app:layout_constraintTop_toTopOf = "parent" />

Результат прилагается ниже

Проблема с Textview при использовании автоссылки

Как избежать этой проблемы?

попробуй это проверить stackoverflow.com/questions/40788608/…

Sachin 25.10.2018 15:47
0
1
40
1

Ответы 1

Если я четко понял ваш вопрос, вы также можете использовать ClickableSpan Это также позволяет вам подчеркивать и нажимать фиксированное количество символов, обрабатывая щелчок для того же самого. В xml

<TextView
                android:id = "@+id/textView"
                android:layout_width = "wrap_content"
                android:layout_height = "wrap_content"
                android:layout_marginLeft = "@dimen/_18sdp"
                android:layout_marginRight = "@dimen/_18sdp"
                android:fontFamily = "@font/lato_semibold"
                android:paddingTop = "@dimen/_15sdp"
                android:textAlignment = "center"
                android:textColor = "@color/colorBlack"
                android:textSize = "@dimen/_13sdp" />

В классе Java

    SpannableString ss = new SpannableString("Hello World8 123456789");
ClickableSpan clickableSpan = new ClickableSpan() {
    @Override
    public void onClick(View textView) {
        // handle on click
    }
    @Override
    public void updateDrawState(TextPaint ds) {
        super.updateDrawState(ds);

    }
};
ss.setSpan(clickableSpan, 12, 22, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

TextView textView = (TextView) findViewById(R.id.hello);
textView.setText(ss);
textView.setMovementMethod(LinkMovementMethod.getInstance());
textView.setHighlightColor(Color.TRANSPARENT);

Другие вопросы по теме