首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在配置更改后,是否可以让RecyclerView恢复关注的项目?

在配置更改后,可以通过以下步骤让RecyclerView恢复关注的项目:

  1. 在配置更改前,确保RecyclerView的数据源已经保存下来,例如通过保存在内存中或者持久化到数据库中。
  2. 在配置更改后,重新获取之前保存的数据源。
  3. 在Activity或Fragment的生命周期方法中,例如onCreate()或onActivityCreated()中,重新设置RecyclerView的布局管理器、适配器和数据源。
  4. 如果使用的是默认的LinearLayoutManager,可以通过以下代码重新设置RecyclerView的布局管理器:
代码语言:java
复制
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
  1. 如果使用的是自定义的LayoutManager,可以根据具体情况重新设置RecyclerView的布局管理器。
  2. 重新设置RecyclerView的适配器,并将之前保存的数据源传递给适配器:
代码语言:java
复制
MyAdapter adapter = new MyAdapter(dataList);
recyclerView.setAdapter(adapter);
  1. 如果需要,可以重新设置RecyclerView的ItemDecoration、ItemAnimator等。

通过以上步骤,可以在配置更改后让RecyclerView恢复关注的项目,并保持之前的状态和数据。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android-WItemTouchHelperPlus几行代码搞定仿QQ侧滑

它允许您控制每个ViewHolder都启用了哪些触摸行为,并且user执行这些操作时也会接收回调 .通俗来说就是我们可以再这个类里面去控制我们想要触摸效果,也就是侧滑还是拖拽.然后可以得到动作执行中回调...,和动作执行结束回调....滑动距离为RecyclerView宽度,往往就是屏幕宽度. 限制滑动距离之后,无法正常恢复侧滑(滑动View复位)....当Item手动滑动之后不能自由自动恢复侧滑(滑动View复位). 无法做到特定Item不让侧滑. 总问言之侧滑不流畅. 好处: 侧滑布局样式我们可以随意更改....滑动距离可以随意固定. 侧滑恢复动画我们可以控制. 总而言之给了开发者很大自由.

36110

恢复 RecyclerView 滚动位置

您可能在开发过程中遇到过这种情况, Activity/Fragment 被重新创建RecyclerView 丢失了它之前保有的滚动位置信息。...通常这种情况发生原因是由于异步加载 Adapter 数据,且数据 RecyclerView 需要进行布局时候尚未加载完成,导致 RecyclerView 无法恢复到之前滚动位置。...从  1.2.0-alpha02 版本开始,Jetpack RecyclerView 提供了一个新 API,可以 Adapter  在数据加载完成之前阻塞布局行为 ,从而避免丢失滚动位置信息。...接下来我们会介绍如何使用这个新 API,以及它工作原理。 恢复至原有滚动位置 有好几种方法可以用来恢复 RecyclerView 至正确滚动位置,您可能已经实际项目中用到了这些方法。...如果根据您项目实际情况无法采用这种方法,那也可以使用其他方法,只是要么比较复杂 (比如避免 RecyclerView 中设置 Adapter,但这样又有可能导致像 header 等 item 显示问题

1.4K10

使用 ConcatAdapter 顺序连接其他 Adapter

ConcatAdapter 是 recyclerview: 1.2.0-alpha 04 中提供一个新组件,它可以帮我们顺序地组合多个 Adapter,并它们显示同一个 RecyclerView...△ RecyclerView 和 Adapter 数据 头部和底部显示加载状态 我们可以头部或底部显示一个进度条或错误信息。列表成功加载数据,头部或底部便不应该再显示任何信息。...,它基于 LoadState 显示 1 或 0 个项目,每次 LoadState 有变动时候,我们会通知相应条目进行改动、插入或移除 (您可以 拉取请求 中查看相应代码)。...,该事件可以RecyclerView 提供更多有关数据集更改信息,从而使 RecyclerView 可以更有效率地更新 UI,同时也有更好动画效果。...从 RecyclerView 角度来看,notifyItemRangeChanged 表示更新项目相同,只是内容有所更改;notifyDataSetChanged 表示前后数据之间没有任何关系。

49920

Android 中意料之外应用崩溃以及它们解决方案

而在应用发布,监视应用程序中这些不断增加崩溃是一种极其不愉快体验。 不管应用程序业务逻辑如何,都可能会因为运行系统或平台问题而导致出现某些奇怪崩溃现象。...根据你所处情况,你可以决定用哪一个方法来推进问题解决: 解决方案 1: 一种简便解决方案是,当用户从后台恢复应用程序时,应用程序检查我们现有的应用程序进程是否被结束并重新创建。...虽然此解决方案可以防止崩溃,但是这种方法其实就是重新启动应用程序,而不是从中断位置恢复应用程序。如果你发布应用后遇到此问题,并且急切地希望快速解决这个问题,则此解决方案应该能帮你大忙。...但是,如果你刚从头开始开发,则解决方案 2 将是你理想选择,因为它可以做到从中断位置恢复应用程序。 解决方案 2: 现在,你肯定已经注意到可以利用“包”对象保存和访问数据。...我们会应用程序检查 onViewCreated() 函数中捆绑包中数据是否可用,如果不可用,则会通过访问 ViewModel 方法获取数据。

1.1K10

ItemTouchHelper 实现交互动画

是否可以长按拖拽排序 isItemViewSwipeEnabled Item是否可以被滑动 getMovementFlags...onMove方法中处理拖拽回调逻辑,那么什么时候被调用?当Item被拖拽排序移动到另一个Item位置时候被调用。onSwiped方法当Item被滑动删除到不见中处理被删除逻辑。...上下拖动时与其他item进行位置交换 ItemTouchHelper.Callback本身不具备将两个item互换位置功能,但RecyclerView可以,我们可以item拖动时候把当前item与另一个...04.拖拽效果上优化 拖拽效果优化 item被拖拽或侧滑时修改背景色,当动作结束将背景色恢复回来,而ItemTouchHelper.Callback中正好有对应这两个状态方法,分别是:onSelectedChanged...item执行了两种属性动画而已,ItemTouchHelper.Callback中有一个方法可以拿到item被拖拽或滑动时位移变化,那就是onChildDraw()方法,该方法中设置item渐变和缩放属性动画

3.8K20

已中招!Android 基础面试常常吊死在这几个问题上……

一般这样可以用到,1、 BuildType 定义了如何构建模块,例如是否运行 ProGuard ;2、构建中包含哪些资源可以用到 BuildType ;3、 Gradle 为项目的产品风格和构建类型每个可能组合创建一个构建变体... Activity 生命周期中,无论是应用程序启动时,还是Activity 被销毁然后重新创建(例如在配置更改期间)时,都会调用一次 onCreate() 方法。...通常做法是将数据存储 ViewModel 类中(因为它在配置更改期间保留数据),并使用 OnSaveInstanceState 存储少量UI数据。 面试官:回答得不错!...RecyclerView 显示较长项目列表。假设我们要显示100行项目。一种简单方法是只创建100个视图,每行一个视图,然后将它们全部布局。...但这是浪费,因为在任何时间点上,只有10个左右项目可以放在屏幕上,而其余项目则不在屏幕上。因此, RecyclerView 只创建屏幕上10个左右视图。这样,速度和内存使用率将提高10倍。

2K20

淘宝首页Bug!嵌套滑动及NestedScroll

Android NestedScrolling机制完全解析 带你玩转嵌套滑动 一、项目实例--电商首页 1、嵌套滑动问题点 看懂了以上文章,现在来分享一下项目问题。...可以清楚看到: 京东:滑动很顺畅,没有停滞情况,tab到顶部就 紧接着 滑动内部商品列表了。整个过程手指是连续拖动,没有抬起。 淘宝:tab滑到顶部,手指继续拖动,但商品流是不能滑动。...==接口很重要,目的就是 开始滑动 外部RecyclerView 时、开始滑动内部RecyclerView时,都询问NestedScrollLayout2是否处理且如何处理。...其中mRootList是外部RecyclerView,mChildList是内部RecyclerView,childTop是tab这个viewtop 用于判断是否到顶部。...是因为recyclerView设置behavior(“app:layout_behavior="@string/appbar_scrolling_view_behavior”),这个behavior作用就纯粹为了

1.4K20

怎么简单实现菜单拖拽排序功能

它是RecyclerView对于item交互处理一个「辅助类」,主要用于拖拽以及滑动处理。 以接口实现方式,达到配置简单、逻辑解耦、职责分明效果,并且支持所有的布局方式。...3、功能拆解 4、功能实现 4.1、实现接口 自定义一个类,实现ItemTouchHelper.Callback接口,然后实现方法中根据需求简单配置即可。...接下来就是把这个辅助类绑定到RecyclerViewRecyclerView显示实现就是基础样式,就不展开了,可以查看源码。...为了进一步提升用户体验,可以固定位置不可以拖拽吗?...可以,ItemTouchHelper.Callback中有两个方法: isLongPressDragEnabled 是否可以长按拖拽 isItemViewSwipeEnabled 是否可以滑动 这俩方法默认都是

1.3K40

Android RecyclerView使用简述

文章功能可以先运行看看效果,扫码下载APK 正文   对于RecyclerView使用根据实际项目进行说明,一些功能可能是你现在正在做,对你有帮助也说不定。...点击Finish完成项目创建,然后等待项目构建完成,之前Android中RecyclerView是需要引入依赖库,会有v4,v7版本库,而现在都迁移到androidx下了,目前项目构建时候也会自动添加这个...七、RecyclerView多级列表使用   RecyclerViewitem有时候又会包裹一个RecyclerView,类似于QQ分组,分组是一个列表,分组item可以展开,展开是一个列表,里面是显示该分组下的人员...八、RecyclerView动态更改数据   之前我们显示数据都是直接显示,后面使用过程中并没有对数据进行更改,那么下面我们来进行更改试试看。...九、RecyclerView左右滑动和上下拖动   操作RecyclerView时候,我们还会有例如Item侧滑删除这样操作,或者上下拖动更改Item位置。

2.3K21

View 上使用挂起函数 | 实战

本文是探索协程如何简化异步 UI 编程系列第二篇。第一篇侧重理论分析,这一篇我们通过实践来说明如何解决实际问题。如果您希望回顾之前内容,可以在这里找到——《 View 上使用挂起函数》。...让我们学以致用,实际应用中进行实践。 遇到问题 我们有一个示例应用: Tivi,它可以展示 TV 节目的详细信息。关于节目信息,应用内罗列了每一季和每一集。...= RecyclerView.NO_POSITION) { // 目标项已经适配器中了,我们可以滑动到该 id 条目处 scrollToEpisodeItem(itemId...测试 无论如何,测试动画都是很困难,使用混乱回调更是问题雪上加霜。为了回调中使用断言判断是否执行了某些操作,您测试必须包含所有的动画类型。...本文并未真正涉及测试,但是使用协程可以其更加简单。 使用协程解决问题 在前一篇文章中,我们已经学习了如何使用挂起函数封装回调 API。

1.4K30

怎么简单实现菜单拖拽排序功能

它是RecyclerView对于item交互处理一个「辅助类」,主要用于拖拽以及滑动处理。以接口实现方式,达到配置简单、逻辑解耦、职责分明效果,并且支持所有的布局方式。...3、功能拆解4、功能实现4.1、实现接口自定义一个类,实现ItemTouchHelper.Callback接口,然后实现方法中根据需求简单配置即可。...接下来就是把这个辅助类绑定到RecyclerViewRecyclerView显示实现就是基础样式,就不展开了,可以查看源码。...为了进一步提升用户体验,可以固定位置不可以拖拽吗?...可以,ItemTouchHelper.Callback中有两个方法:isLongPressDragEnabled 是否可以长按拖拽isItemViewSwipeEnabled 是否可以滑动这俩方法默认都是

1.1K30

【Android 事件分发】ItemTouchHelper 源码分析 ( OnItemTouchListener 事件监听器源码分析 )

()); mSlop = vc.getScaledTouchSlop(); // 设置 RecyclerView 条目中装饰 , 可以条目组件 底部 上层 绘制 Canvas...if (mSelected == null) { // 恢复动画 , 查找手指按下 View 子组件 , 该子组件时 RecyclerView一个条目...// 用户按下 RecyclerView某个条目 // findAnimation 方法用于找到按下条目 View , 并设置给 RecoverAnimation 恢复动画...恢复动画 ; 3、findAnimation 方法 findAnimation 方法中 , 先调用了 findChildView 方法 , 查找手指按下 View 子组件 , 该子组件是 RecyclerView...View target = findChildView(event); 找到该条目对应 View 组件 , 遍历恢复动画 , 动画中有 mViewHolder 成员 , mViewHolder

1.8K20

Android入门教程 | Fragment 基础概念

在此情况下,需列表布局中创建包含 RecyclerView 片段。...也可将每个事务保存到由 Activity 管理返回栈内,从而用户能够回退片段更改(类似于回退 Activity)。...如果试图该时间点提交,则会引发异常。这是因为如需恢复 Activity,则提交状态可能会丢失。对于丢失提交无关紧要情况,请使用 commitAllowingStateLoss()。...与 Activity 一样,您也可使用 onSaveInstanceState(Bundle)、ViewModel 和持久化本地存储组合,配置变更和进程终止保留片段界面状态。...,定义一个接口(可以 Fragment 类中定义),接口中有一个空方法, fragment 中需要时候调用接口方法,值可以作为参数放在这个方法中,然后 Activity 实现这个接口,必然会重写这个方法

3.5K40

自定义 Behavior,实现嵌套滑动、平滑切换周月视图日历

简介 先上个小米日历图,大家知道要做一个什么效果: [strip] 这是小米日历效果,在用户操作列表时候,将日历折叠成周视图,扩大列表显示区域,同时也不影响日历部分功能使用,有趣且实用。...布局中,对子控件配置 app:layout_behavior 属性,实现对应联动效果。所以这里我们需要自定义日历和列表两个 Behavior。 Behavior 有两种实现联动方式。...折叠效果 大家可能有看过 RecyclerView 和 AppBarLayout 联动效果,这种效果需要给 RecyclerView 配置 Behavior: app:layout_behavior=...当嵌套滑动结束时会回调 onStopNestedScroll 方法,可以在这里根据当前控件位置,判断是否要切换视图。...惯性滑动 上面效果可以看出一个问题,当滑动到一半时候松手,应该要恢复到完整视图位置。这里包含了,快速滑动惯性滑动到指定位置效果,和没有快速滑动时,往就近指定位置滑动这两种效果。

3.1K10

记一次全民K歌crash定位过程

所以分析这个问题前,我们先来简单了解一下RecyclerView布局流程及缓存策略 ?...则请求RecyclerView提供,布局结果为数据变化状态。...从toString方法可以知道,RecyclerView处于INVISIBLE状态。...通过打开开发者选项中“不保留活动”,复现了这样场景,恢复产生了2个FeedSubFragment,一个正常显示,另一个从xml加载布局没有发起数据请求,于是页面一直是loading默认状态,...,没有考虑到Fragment恢复情况,导致正常Fragment下多生成了一个不可见Fragment,之后发布了作品并对其执行了会引起数据变化互动操作,使其layout到布局中,刷新列表不可见

2.1K30

项目应用篇-RecyclerView嵌套滑动置顶效果实践~

都2021了,RecyclerView嵌套滑动置顶应该已经被说烂了吧,但是如果项目中真的需要一个这样结构应用到首页,想找到一个成熟方案并不容易。这篇文章给出是已稳定运行大半年嵌套滑动代码。...首页都是使用RecyclerView-ViewPager-RecyclerView形式,然后继续寻找时发现了一个最接近项目 xmuSistone/PersistentRecyclerView。...这应该是我找过最完善代码,然后应用到实际项目中发现还是有问题: 1.在华为设备上滑动子RecyclerView时会有跳动 2.父RecyclerView下拉刷新使用是SmartRefreshLayout...完善 1.在华为设备上滑动子RecyclerView时会有跳动 这个问题我好几个作者写滑动置顶代码那里都发现了,其他手机都是没问题,原因是华为设备灵敏度很高,在手指放在ChildRecyclerView...欢迎关注我,分享Android干货,交流Android技术。 对文章有何见解,或者有何技术问题,欢迎评论区一起留言讨论!

65210

仿触手直播首页切换效果

触手app主页效果图 看到这个效果图,第一想到就是RecyclerView貌似可以实现这种效果,但是用RecyclerView自己api还是有很多问题,先不说如何实现吧,看下实现出来效果图吧...这里整体就是一个RecyclerView了,而且初始时候,需要定义我们自己Layoutmanager,代码里面可见(ChuShouManager)该类,该Layoutmanager功能就是最后一个...关于外层RecyclerView滑动处理就先说这么多,下面来介绍如何处理内层带有滑动结构RecyclerView,两个都有滑动结构,何时才内层RecyclerView,何时外层RecyclerView...因为SlideRecyclerView滑动监听里面是无法监听到如果滑动到顶部时继续往下滑和滑动到底部时继续往上滑操作,因此这里就通过ontouch坐标该变量来是否打开外层RecyclerView...最后onSwipe时恢复item状态及改变数据源 处理item本身带有滑动(SlideRecyclerView)和外层RecyclerView滑动冲突: 这里就是分析何时去禁掉外层RecyclerView

54220
领券