Android data binding funktioniert nicht
Ich versuche eine einfache test-Beispiel mit Android Data Binding
. Ich möchte nur zeigen, die in meinem fragment der text "test"
im EditText
namens "title"
, aber dieser text wird nicht angezeigt. Hier ist mein code:
TestVM.java
public class TestVM extends BaseObservable {
public TestVM() {}
@Bindable
public String getText() {
return "test";
}
}
fr_login.xml
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="test"
type="de.theappguys.templateandroid.viewmodel.TestVM"/>
</data>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
>
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginTop="20dp"
android:text="@{test.text}"
android:textSize="22sp"
android:textStyle="bold"
android:textColor="@android:color/black"
/>
</RelativeLayout>
</layout>
FrLogin.java
@EFragment
public class FrLogin extends Fragment {
...
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
FrLoginBinding binding = DataBindingUtil.inflate(inflater, R.layout.fr_login, container, false);
return binding.getRoot();
}
...
bauen.gradle
android {
.....
dataBinding {
enabled = true
}
....
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
müssen Sie den Wert Ihrer Bindung
Problem mit deinem code ist, dass es keine Verbindung zwischen Ihrem Modell und der
Fragment
.haben Sie binden Ihre
ViewModel
als gut. E. g