Dokumentacja Google mówi, że zmienne mogą zostać przekazane do powiązanego układu layoutu z układu zawierającego, ale nie mogę go uruchomić, ale otrzymuję błąd powiązania danych ****. Identyfikatory muszą mieć typy zdefiniowane przez użytkownika z pliku XML. obsługujący go nie ma. tym XML wygląda następująco:Wiązanie danych Androida: jak przekazać zmienną, aby uwzględnić układ
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:bind="http://schemas.android.com/apk/res-auto">
<data>
<import type="com.example.FocusChangeHandler"/>
<variable
name="handler"
type="FocusChangeHandler"/>
</data>
<!-- Some other views --->
<include
android:id="@+id/inputs"
layout="@layout/input_fields"
bind:handler="@{handler}"/>
</layout>
a wliczone XML tak:
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<EditText
android:id="@+id/nameEdit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onFocusChange="@{handler.onFocusChange}"/>
</layout>
jestem w stanie odnieść się widoki z generowanego przez układ zawiera klasy wiążącej ale przechodząc zmienną prostu nie robi nie działa.
Zabawne, ale już próbowałem tego, kiedy bawiłem się nim i otrzymałem komunikat o zmiennej, która została zdefiniowana wiele razy . Coś musiało zostać zmienione między Androidem Studio 2.0 Beta 3 i Beta 5, ponieważ teraz wydaje się działać. – pmellaaho
Czy można przekazywać wiele zmiennych? Próbowałem: ' ' ale to nie wygląda pracować. –
clu