android - 选中 RadioButton 时启用视图
问题描述
我有一个被禁用的View
(即TextInputLayout
,,,Button
等等),但是一旦RadioButton
选中,我想启用该视图。而且,一旦取消选中单选按钮,我希望禁用该视图。我想用它来做DataBinding
,但它不工作......帮助?
<RadioGroup
android:id="@+id/radio_group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@+id/myself"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/myself"/>
<RadioButton
android:id="@+id/group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/group" />
</RadioGroup>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/groups_layout"
style="@style/MyAutoCompleteTextView.Layout.Dense"
android:enabled="@{group.isChecked()}"/>
解决方案
您需要在代码中设置单选按钮的侦听器并相应地更新 liveData,然后在布局中使用androd:enabled=@{VIEW_MODEL.LIVE_DATA}
注意:确保在相应的布局中导入 viewModel。
推荐阅读
- c# - EntityFramework:SQL 上的 Linq:包含还是 IndexOf?
- python - hvplot 和 holoplot 的区别
- php - PHP FastCGI 构建要求 MacOS 上的本地动态库
- django - Django 模型:非主键字段上的 UUID 未在管理面板中生成
- azure - Azure Runbook - 在远程 VM 上运行 Powershell
- angular - ng-sidebar 第一个导航项总是关注页面刷新
- botframework - 更新消息扩展机器人的关于文本
- java - java.lang.UnsatisfiedLinkError: libXrender.so.1
- javascript - Blazor:谷歌地图 JS API
- python - 如何处理python中pd.read_csv函数中的多个分隔符?