Как предоставить значение по умолчанию в методе BindingAdapter в Android DataBinding - PullRequest
0 голосов
/ 08 июня 2018

Я работаю над методом привязки адаптера для установки диапазона цветов в TextView.

@BindingAdapter("foregroundColorSpan", "start", "end", requireAll = false)
fun TextView.setForegroundColorSpan(color: Int, start: Int = 0, end: Int = text.length - 1) {
    val spanBuilder = SpannableStringBuilder(text)
    spanBuilder.setSpan(ForegroundColorSpan(color), start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
    text = spanBuilder
}

Вот как я использую это

<TextView
        android:id="@+id/loginLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="@dimen/narrow"
        android:text="@string/already_have_account_login"
        android:textColor="@color/grey_aee4e4e4"
        android:textSize="@dimen/text_size_small"
        app:foregroundColorSpan="@{@color/blue_ae12235b}"
        app:start="@{25}" />

Я могу 'Кажется, я получаю end в качестве параметра по умолчанию, который указан как последний индекс текста в TextView

Есть ли способ обойтись без него, чтобы получить значение по умолчанию из параметра, не проверяяесли значение равно 0?

...