Я работаю с editText
и buttons
, и макет содержит четыре кнопки
- btnBold
- btnItali c
- btnStrike
- btnUnderline
и один editText
etDescription
Теперь я стилизую свой editText's selected text
нажатие на кнопки
с использованием этого кода
CharacterStyle styleBold, styleItalic, styleUnderline, styleStrike;
styleBold = new StyleSpan(Typeface.BOLD);
styleItalic = new StyleSpan(Typeface.ITALIC);
styleUnderline = new UnderlineSpan();
styleStrike = new StrikethroughSpan();
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.btnItalic:
makeIt(styleItalic);
break;
case R.id.btnBold:
makeIt(styleBold);
break;
case R.id.btnUnderline:
makeIt(styleUnderline);
break;
case R.id.btnStrike:
makeIt(styleStrike);
break;
}
}
private void makeIt(CharacterStyle characterStyle) {
String wholeTextUnder = etDescription.getText().toString();
int startu = etDescription.getSelectionStart();
int endu = etDescription.getSelectionEnd();
SpannableStringBuilder sbu = new SpannableStringBuilder(wholeTextUnder);
sbu.setSpan(characterStyle, startu, endu, 0);
etDescription.setText(sbu);
}
Это дает мне все editText
a single style
Как, когда я выбираю текст 1-10 , а затем сделайте его жирным , это работает!
но, когда я выберу другой текст, сделайте его другим, например italic
, strike
, underline
тогда предыдущий текст становится нормальным, а новые успешно изменяются.
Я хочу, чтобы текст оставался таким же
Жду ответа!
Заранее спасибо !!
Удачного кодирования !