【发布时间】:2017-12-02 04:03:51
【问题描述】:
我有 2 个片段与底部导航视图链接。
- 在片段 1 上,有一个复选框
- 在片段 2 上,有一个微调器
我希望当我更改片段时,如果未选中复选框,则禁用微调器。此外,当我回到第一个片段时,复选框状态保持不变,并且微调器也选择了第二个片段的项目。
【问题讨论】:
标签: android android-fragments checkbox
我有 2 个片段与底部导航视图链接。
我希望当我更改片段时,如果未选中复选框,则禁用微调器。此外,当我回到第一个片段时,复选框状态保持不变,并且微调器也选择了第二个片段的项目。
【问题讨论】:
标签: android android-fragments checkbox
在移动到片段 2 之前。使用 mainactivity 中的 findfragmentbyid() 找到片段 1 的引用并检查复选框状态并将适当的参数数据发送到片段 2 并在片段 2 中获取该参数数据以禁用或启用微调器。最后,您需要在片段之间执行通信。阅读这篇官方文章。这很值得。 https://developer.android.com/training/basics/fragments/communicating.html
【讨论】:
一种选择是使用捆绑包setArguments() 在每个片段之间发送数据。不利的一面是这些值仅在应用程序运行时可用。如果您希望应用程序的状态更加持久,则可以使用SharedPreferences 或数据库将应用程序的状态永久存储在磁盘上。每个片段都会在必要时读取和写入数据。有关详细信息,请参阅 Android 文档中的Storage Options。
【讨论】: