如何保存特定的片段状态,具体取决于我导航至下一个片段?

问题描述

是否可以保存某些状态,具体取决于我要转到下一个片段?

例如,如果我在“图形片段”中,则调用下面所示的onSaveInstanceState(outState)代码

如果接下来我要进入“摘要片段”,我希望将所有内容完全保存如下,并在返回“图形片段”时恢复所有值。

但是,如果我转到数据片段,则我不想保存任何内容,因此应将所有值都设置为0。这是否可能为某些片段转换提供条件?

也请注意,变量:tabPos,offsetMonth,offsetDay,offsetWeek确实在GraphFragment文件中进行了修改,但我不希望在转换为数据片段时保存状态。我只想保存到“摘要片段”。

对于图形摘要

override fun onSaveInstanceState(outState: Bundle) {
    super.onSaveInstanceState(outState)
    outState.putInt(TAB_SELECTED,tabPos)
    outState.putInt(MONTH_SELECTED,offsetMonth)
    outState.putInt(DAY_SELECTED,offsetDay)
    outState.putInt(WEEK_SELECTED,offsetWeek)

对于图形数据

override fun onSaveInstanceState(outState: Bundle) {
    super.onSaveInstanceState(outState)
    outState.putInt(TAB_SELECTED,0)
    outState.putInt(MONTH_SELECTED,0)
    outState.putInt(DAY_SELECTED,0)
    outState.putInt(WEEK_SELECTED,0)

或只是图数据

override fun onSaveInstanceState(outState: Bundle) {
    super.onSaveInstanceState(outState)
    outState.putInt(TAB_SELECTED,0)

所有片段切换都在MainActivity中进行

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)