如何在Dialog中使用数据绑定?

编程入门 行业动态 更新时间:2024-10-20 13:50:40
本文介绍了如何在Dialog中使用数据绑定?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我在实现Dialog中的数据绑定时遇到麻烦.有可能吗?

I am having trouble in implementing databinding in a Dialog. Is it possible?

下面是我的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代码,但无法正常工作

I want to bind the above layout in a Dialog. How is it possible? Below is my java code i tried but it's not working

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);

推荐答案

可以在Dialog中使用数据绑定,首先要使绑定在Dialog上起作用,您应该首先对其进行充气,然后将其传递给setContentView.

It is possible to use databinding in a Dialog, first to get the binding working on your Dialog you should inflate it first and pass it to the setContentView like this.

DialogOlaBookingConfirmedBinding binding = DataBindingUtil.inflate(LayoutInflater.from(getContext()), R.layout. dialog_ola_booking_confirmed, null, false); setContentView(binding.getRoot());

然后您可以传递viewModel:

Then you can pass the viewModel:

binding.setViewModel(new ViewModel(this, event.olaBooking));

现在您可以看到它正在工作.

And now you can see it working.

更多推荐

如何在Dialog中使用数据绑定?

本文发布于:2023-11-28 07:20:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1641444.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:绑定   数据   如何在   Dialog

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!