Я хочу покрасить текст между «и». Например -Выделите промежуточный текст в Android
<
тело BGCOLOR = «# 000000»>
(я не могу покрасить их в этом вопросе, так что я просто сделал их полужирный)
Я использую следующий код, но это не работает должным образом -
if (text.contains("\"")) {
String syntaxText = "\"";
SparseIntArray array = new SparseIntArray();
int ofe = text.indexOf(syntaxText, 0);
for (int ofs = 0; ofs < text.length() && ofe != -1; ofs = ofe + 1) {
ofe = text.indexOf(syntaxText, ofs);
if (ofe == -1) {
break;
} else {
for (int i = 0; i < text.length(); i=i+2) {
array.put(i, ofe);
}
}
}
int size = array.size();
Spannable WordtoSpan = new SpannableString(et_note.getText());
for (int i = 0; i < size; i=i++) {
WordtoSpan.setSpan(new ForegroundColorSpan(0xFF00FF00), array.get(i), array.get(i+1), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
et_note.setText(WordtoSpan, TextView.BufferType.SPANNABLE);
}
Хотя, я не ожидал, что вышеуказанный код будет работать должным образом, так как я немного смущен.
Спасибо за помощь.
EDIT -
et_note
в моем коде является EditText. Текст будет дано затем пользователем и может иметь много "
Как я могу получить endPos et_note в моем коде есть edittext, и у него будет много. – FadedCoder
Вы можете попробовать некоторые методы, такие как 'indexOf (String str), indexOf (String str, int fromIndex), lastIndexOf (String str), lastIndexOf (String str, int fromIndex)' ... – BNK