Я объявил привязывающий адаптер следующим образом:
@BindingAdapter(value = ["textToFormat", "numberText"], requireAll = false)
fun setFormattedValue(view: TextView, textToFormat: Int?, numberText: String?) {
if(textToFormat != null && numberText != null) {
view.text = String.format(view.context.resources.getString(textToFormat), numberText)
}
}
И я использую его в XML как
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="14dp"
android:fontFamily="sans-serif-medium"
android:gravity="end"
android:letterSpacing="0.04"
android:textColor="#555555"
android:textSize="16sp"
android:textStyle="normal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="Total Contacts : 22"
app:numberText="211"
app:textToFormat="@string/total_contacts_summary" />
Но когда я пытаюсь построить, я получаю следующую ошибку:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:processDebugResources'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
> Android resource linking failed
AAPT: /Users/parashar/Documents/work/test/app/build/intermediates/incremental/mergeDebugResources/stripped.dir/layout/fragment_contacts_summary.xml:21: error: attribute numberText (aka com.example.test:numberText) not found.
/Users/parashar/Documents/work/test/app/build/intermediates/incremental/mergeDebugResources/stripped.dir/layout/fragment_contacts_summary.xml:21: error: attribute textToFormat (aka com.example.test:textToFormat) not found.
error: failed linking file resources.
Будете ли вы признательны, если кто-то может мне помочь с этим?