Я читаю флажок в документах Google, но я не могу найти, что именно он делает. Например, в коде ниже:Что такое переменная переменной в здании SpannableStringBuilder
SpannableStringBuilder builder1 = new SpannableStringBuilder();
builder1.append("hi");
builder1.append("this is test");
builder1.setSpan(new ForegroundColorSpan(Color.RED), 0, 7, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
myTextView.setText(builder1);
Там нет никакой разницы, если вы измените 4-й параметр и установить переменные, как это: Spanned.SPAN_INCLUSIVE_INCLUSIVE, Spanned.SPAN_INCLUSIVE_EXCLUSIVE, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE.
В результате нет никакой разницы.
Но когда запускаю этот код:
SpannableStringBuilder builder1 = new SpannableStringBuilder();
builder1.append("hi");
builder1.append("this is test");
builder1.setSpan(new ForegroundColorSpan(Color.RED), 0, 7, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
SpannableStringBuilder builder2 = new SpannableStringBuilder();
builder1.append("second test this is going to be different");
builder1.setSpan(new BackgroundColorSpan(Color.BLUE), 10, 15, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
SpannableStringBuilder all = new SpannableStringBuilder();
all.append(builder2);
all.insert(0, "\n");
all.insert(0, builder1);
Вы получаете различные результаты, основанные на 4 параметра, который вы передаете builder1.setSpan
Может кто-то объясняет, почему это происходит?
я не могу понимаете, что вы имеете в виду? Не могли бы вы привести пример? – Hojjat
Например, вы пытаетесь изменить цвет текста динамически, так что строка Spannable выполняет временный стиль после того, как ваш стиль будет выполнен, для его удаления потребуется некоторый ключ, и этот флаг действует как ключ –