【问题标题】:Returning to same scroll position via back button on Action Bar通过操作栏上的后退按钮返回到相同的滚动位置
【发布时间】:2016-04-12 16:47:03
【问题描述】:

点击RecyclerView 会带我去另一个活动。我创建了onPauseonResume 方法,当我按下电话上的返回键时,它们允许我返回到相同的滚动位置。我还在操作栏上启用了setdisplayhomeasupenabled,但是当我按下操作栏上的后退按钮时,它会将我带回到RecyclerView,但不在同一个滚动位置。 如何确保操作栏中的后退按钮与手机上的后退按钮相同,并将我带到保存的滚动位置?

【问题讨论】:

  • 你在保存你的视图状态吗?如果您为 RecyclerView 提供了 id,LayoutManager 会自动为您执行此操作。
  • 是的,我正在保存状态....你能告诉我当我按下使用 actionbar.setdisplayhomeasupenabled 创建的操作栏上的返回按钮时使用哪种方法
  • 你在使用工具栏吗?
  • 请贴一些代码,我可以帮你
  • 我正在使用工具栏。在 listItemClicked 上打开的页面的工具栏已启用 setdisplayhomeasupenabled,当我单击页面上的后退按钮时,它会将我带回 recyclerview 页面,但顶部位置为位置 0

标签: java android android-studio scroll android-recyclerview


【解决方案1】:

当您执行点击时,您可以将位置保存在第一个活动中的全局变量中,并将点击的实例保存在 View 对象中,然后当您返回时,您可以在 on resume 方法中检查变量是否已设置,然后您像这样滚动到该项目: myRecyclerView.scrollTo(POSITION_IN_RECYCLERVIEW, VIEW_IN_POSITION.getTop());

希望对你有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多