Ошибка при создании клиентского адаптера привязки в Android с помощью kotlin - PullRequest
0 голосов
/ 10 октября 2019

Я объявил привязывающий адаптер следующим образом:

@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.

Будете ли вы признательны, если кто-то может мне помочь с этим?

1 Ответ

0 голосов
/ 23 октября 2019

попробуйте

 app:numberText="@{`211`}"
 app:textToFormat="@{@string/total_contacts_summary}"
...