データバインディングを機能させようとしていますが、これまで成功していません。ObservableBooleanデータバインディングは設定時にビューを更新しません
マイMainActivity.javaはこれを含んでいます
public ActivityMainBinding binding;
private Button createPartyButton;
public final ObservableBoolean partyIsCreated = new ObservableBoolean(false);
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
createPartyButton = (Button) findViewById(R.id.create_party_button);
createPartyButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
partyIsCreated.set(!partyIsCreated.get());
}
});
}
マイactivity_main.xmlはこれです:アンドロイドセクションで
<layout>
<data>
<variable
name="main"
type="com.example.MainActivity"/>
</data>
<LinearLayout
android:id="@+id/container"
xmlns:android="http://schemas.android.com/apk/res/android"
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"
android:orientation="vertical"
tools:context="com.example.MainActivity">
<EditText android:id="@+id/my_nickname_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:enabled="@{main.partyIsCreated ? true : false}"/>
<Button android:id="@+id/create_party_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/create_party_button_text"/>
</LinearLayout>
</layout>
私のbuild.gradleはこれを含んでいます
dataBinding {
enabled = true
}
休憩ビルドの設定はこれです:
compileSdkVersion 25
buildToolsVersion "25.0.2"
gradle:2.3.0
データバインディングが自動生成されていることがわかります。しかし、何も見えません。データバインディングが機能しなくなったのは何ですか?
ありがとう! binding.setMain(this);私の場合を解決した – user2010496