0
私のアプリでデータバインディングを使用しようとしていますが、何も表示されません。Androidデータバインディングが表示されない
これは私がやったことです:
- 私は空のアクティビティで新規プロジェクトを作成しました。
は、私はこれは私のactivity_main.xml
<?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> <variable name="game" type="my.name.bar.Bar"/> </data> <android.support.constraint.ConstraintLayout xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="my.name.bar.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{game.GetFoo()}" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> </android.support.constraint.ConstraintLayout> </layout>
であり、これは私のバークラスである私のbuild.gradle
に
dataBinding {
enabled = true
}
を追加
public class Bar {
private String str;
public Bar() {
str = "Foo";
}
public String GetFoo() {
return str;
}
}
しかし、私は白い画面しか得ていません。バインディングを「Hello World!」に置き換えた場合すべてうまくいく。私は間違って何をしていますか? (コメントから昇格)
私は値をバインドするのを忘れていると思います。あなたが縛ると、このようなものを使いましたか? 'ActivityMainBinding binding = DataBindingUtil.setContentView(this、R.layout.activity_main); binding.setGame(new Bar()); ' –
ありがとう!それが私が行方不明だったものです!あなたは答えとしてあなたのコメントを宣伝することができ、またこのコード(MainActivity.java)をどこに置くべきかを指示することができます。 – ffonz