Я хочу создать приложение, где много разных текстов и они чередуются в одном экране и в некоторых текстах надо поменять цвет нескольких(не всех) букв. Я написал код: всё работает, но изменение цвета букв в текстах не корректно работает, т.е цвет меняется и после клика на другой текст цвет исчезает, т.е когда возвращаюсь на этот же текст измененные цвета исчезают. Сможете помочь? есть кто сталкивались подобными трудностями?
Вот код:
public class MainActivity extends AppCompatActivity {
String[] mTestArray;
int texts = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
;
mTestArray = getResources().getStringArray(R.array.colors);
ImageButton next = (ImageButton)findViewById(R.id.imageButton);
ImageButton prev = (ImageButton)findViewById(R.id.imageButton2);
final TextView tex = (TextView)findViewById(R.id.textview);
Spannable sp = new SpannableString(mTestArray[2]);
sp.setSpan(new ForegroundColorSpan(Color.BLUE), 15, 30, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
tex.setText(sp);
next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(texts == mTestArray.length-1 ){
texts=0;
}else {
texts++;
}
tex.setText(mTestArray[texts]);
}
});
prev.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(texts == 0){
tex.setText(mTestArray[0]);
}else {
texts--;
}
tex.setText(mTestArray[texts]);
}
});
}
}
string.xml:
<resources>
<string name="app_name">ArrayTextColor2</string>
<string name="slidestring">Slide</string>
<string-array name="colors">
<item>I read the letter. Stood up. Sat down. Pondered for a minute. Then reread the letter again. Я прочитал письмо. Встал. Сел. Поразмышлял минуту. Потом еще раз перечитал письмо.</item>
<item>It is only with the heart that one can see rightly. По-настоящему можно видеть только сердцем.</item>
<item>One can become a writer only if he is talented. Писателем может стать только тот, у кого есть талант.</item>
<item>They say, the winter will be cold. Говорят, зима будет холодной</item>
</string-array>
</resources>
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости