我在对话框中实现数据绑定时遇到了麻烦。可能吗?
下面是我的xml。
<data>
<variable
name="olaBooking"
type="com.example.myapp.viewmodels.ViewModel" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.CardView
android:id="@+id/cv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:elevation="4dp"
android:padding="15dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:gravity="center"
android:padding="15dp"
android:text="OLA Cab Booked !"
android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="@color/colorPrimaryDark" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="start|center"
android:padding="15dp"
android:text="Car Details" />
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="@color/colorPrimaryDark" />
<TextView
android:id="@+id/driverName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:text="@{olaBooking.driverName}" />
<TextView
android:id="@+id/carModel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:text="@{olaBooking.getCarName}" />
<TextView
android:id="@+id/carNo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:text="@{olaBooking.getCabNo}" />
<TextView
android:id="@+id/eta"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:text="@{olaBooking.getEta}" />
</LinearLayout>
</android.support.v7.widget.CardView>
</LinearLayout>
我想在一个对话框中绑定上面的布局。这怎么可能?下面是我尝试过的java代码,但它不起作用
dialog.setContentView(R.layout.dialog_ola_booking_confirmed);
DialogOlaBookingConfirmedBinding binding = DataBindingUtil.inflate(
LayoutInflater.from(dialog.getContext()),
R.layout.dialog_ola_booking_confirmed,
(ViewGroup) dialog.findViewById(R.id.cv),
false);
ViewModel viewModel = new ViewModel(this, event.olaBooking);