1

Я создаю селектор с spannable строки TextView с помощью этого StackOverflow ссылку (Change the text color of a single ClickableSpan when pressed without affecting other ClickableSpans in the same TextView),селектор с spanable не работает на Android M, но работает отлично на ниже М

он работает отлично на всех андроид версию, кроме android-M, я не могу определить, почему, поэтому, пожалуйста, помогите мне, ребята.

В основном мой взгляд, как этот, https://drive.google.com/file/d/0BwkVxZWl7VcEVkFTQVRNbE9sLTA/view?usp=sharing, я хочу селектор на Регистре сейчас, но это не должно влиять на остальную часть текста, и все это должно быть с одной точки зрения текста или spannable

import android.text.SpannableString; 
import android.text.TextUtils; 
import android.view.View; 
import android.widget.TextView; 

import cl.dummy.R; 
import cl.dummy.utility.spannablee.LinkTouchMovementMethod; 
import cl.dummy.utility.spannablee.TouchableSpan; 


public class Login extends AppCombatActivity 
{ 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_login); 

       init(); 
    } 

    private final void init() 
    { 
     final TextView myTextView = GeneralFunctions.findViewByIdAndCast(this, R.id.login_tv_noAccount); 
     final SpannableString mySpannable = new SpannableString(myTextView.getText().toString()); 
     final TouchableSpan touchableSpan = new TouchableSpan(ContextCompat.getColor(this, R.color.color60),ContextCompat.getColor(this, R.color.colorBlue),Color.TRANSPARENT) { 
      @Override 
      public void onClick(View textView) { 
       GeneralFunctions.simpleMoveToNextActivity(Register.class, Login.this,null); 
      } 
     }; 

       myTextView.setMovementMethod(new LinkTouchMovementMethod()); 
       myTextView.setHighlightColor(ContextCompat.getColor(Login.this, android.R.color.transparent)); 

       mySpannable.setSpan(touchableSpan, GeneralFunctions.getText(myTextView).indexOf("Register"), GeneralFunctions.getText(myTextView).length(), 0); 
       myTextView.setText(mySpannable, TextView.BufferType.SPANNABLE); 
    } 
} 
+0

Какой селектор вы говорите? Селекторы используются в 'ListView', см. метод ListView # setSelector', но здесь я не вижу никакого вида списка. – pskink

+0

@pskink, я говорю о селекторе на spannable, означает, что при выборе текста цвет меняется, но не полностью текст только из выделенного текста – TheReprator

+0

извините, до сих пор не знаю, что вы имеете в виду – pskink

ответ

1

я решил эту проблему, переведя текст в кнопку, и он работает хорошо, но я не знаю причины, почему он не работал с textview в android M

+0

@ TheGreat0004, это работает, но я хотел знать ответ, почему он не работает с textview на android M и работает с кнопками – TheReprator