【问题标题】:Why does RecyclerView restore its state after rotation?为什么 RecyclerView 旋转后会恢复状态?
【发布时间】:2017-03-06 10:04:30
【问题描述】:

我在Fragment 内有RecyclerView,由ViewPager 处理。 RecyclerView 是如何自动在旋转后恢复其状态的?我以为我必须实施

LayoutManager.onSaveInstanceState()
LayoutManager.onRestoreInstanceState(Parcelable state);

我自己。 LayoutManagerRecyclerView 是否注册了某种 onConfigurationChange 接收者?

【问题讨论】:

  • 不,LayoutManger 和 RecyclerView 都不会收到 onconfigurationchage。
  • @BenjaminBihr 它没有说明我的问题。我在问为什么在没有明确实施的情况下通过默认方式恢复状态。
  • @keyur9779 没用的评论
  • @AppiDevo 我认为您应该再次检查您的问题,因为我在您的整个问题中都没有找到任何原因。所以我只回答了你的最后一个问题。

标签: android android-recyclerview layout-manager screen-rotation savestate


【解决方案1】:

RecyclerView 扩展了 ViewGroup,所以它扩展了 View。

如果你在你的 RecyclerView 上放一个 Id,

onSaveInstanceState/onRestoreInstanceState

将被调用。

链接:RecyclerView store / restore state between activities

【讨论】:

  • 正如我之前所说,您发布的链接中没有关于我的问题的信息。这是一个有用的链接:trickyandroid.com/saving-android-view-state-correctly 很好地解释了自动状态保存的工作原理。
  • 好的!如果我理解正确,您的问题不仅适用于 recyclerView
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多