0
私のアプリでは奇妙な問題に直面しています。ボタンのonClickイベントをメソッドにバインドすることはできません。ここに私のコードは次のとおりです。ボタンをバインドできません。
public class BookingViewModel extends BaseObservable {
public void onAddInvite(View view) {
invitationList.add(new Person(name, number, email));
notifyPropertyChanged(BR.invitationsText);
}
}
のxml:私はそれが奇妙見つける
<layout 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">
<data>
<variable
name="bookingViewModel"
type="it.jgrassi.roombooking.viewmodel.BookingViewModel" />
</data>
<Button
android:id="@+id/button_book"
android:layout_width="89dp"
android:layout_height="40dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:text="Book"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:enabled="@{bookingViewModel.bookingEnabled}"
android:onClick="@{bookingViewModel::onAddInvite}"/>
</layout>
が原因で同じアプリで、私は、リスト項目をonClickの取り扱い似たような状況があります。
public class ItemRoomViewModel extends BaseObservable{
public void onItemClick(View view) {
//do stuff
}
}
XML :
<layout 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">
<data>
<variable
name="roomViewModel"
type="it.jgrassi.roombooking.viewmodel.ItemRoomViewModel" />
</data>
<android.support.constraint.ConstraintLayout
android:id="@+id/item_room"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground"
android:clickable="true"
android:onClick="@{roomViewModel::onItemClick}"
android:paddingBottom="8dp"
android:paddingTop="8dp">
</layout>
その他すべてバインディングは完全に正常に動作します。またアンドロイドスタジオは、使用されているように見えるメソッドを作成します。私は何を間違えているのですか?
ありがとうございます:)ボタンも覚えていませんでした –
私はそれが助けてうれしいです! – gbruscatto