当前位置: 首页 > 知识库问答 >
问题:

Android RecolcerView在切换应用程序后被刷时查看项目为空

胡永逸
2023-03-14

首先,我看过类似的问题(例如,这个问题:Android RecyclerView ItemTouchHelper revert swipe和restore view holder)。这已经帮了我很大的忙,直到我--或多或少地,偶然地--注意到了我当前(希望也是最后)的屏幕问题。

我希望实现的目标:
我希望能够通过我的SimpleCallback实现的onSwiped()方法来滑动要通知的项。此外,我不希望这些项目消失、被移除或以其他方式从RecyclerView中的项目列表中取出。我只想刷一下它们,然后让它们回到原来的位置(是的,我知道这是一种假设,刷过的项目会被移除)。我正在OnSwiped()方法中使用适配器NotifyItemChanged()方法(也尝试使用NotifyDataSetChanged())。

问题:
有趣的是,这很管用(多亏了前面提到的问题)--直到我点击“应用切换”按钮(不知道它是否有一个正式名称)并将应用发送到后台。一旦我把它再次放在前景并开始滑动,项目将不会(视觉上)返回。它们仍在列表中,如果我再次滚动或单击“应用切换”按钮,它们将再次正确显示(但不会在刷卡时返回)。同样,如果我导航回一个屏幕,回到列表中。
这让我以为当我将应用程序发送到后台并恢复它时发生了什么事情。不同于导航到屏幕(在这种情况下,一切都按预期工作)--我认为这或多或少会产生相同的结果。你知道我可能忽略了什么吗?

共有1个答案

白君之
2023-03-14

经过一番测试,我终于找到了问题的来源:

我通过片段的onstart()而不是onviewcreated()初始化了RecolyerView及其适配器。修改后,我得到了我想要的正确结果。学到的教训:尽可能早地设置您的recyclerView的适配器,除非您想处理有时奇怪的问题。

 类似资料:
  • 我的模特。py看起来像: 模型中描述了“名称”和“站点”! 每当我尝试运行我的服务器时,我都会 django.db.utils.编程错误:除非使用可以解释8位字节串的text_factory(如text_factory=str),否则不得使用8位字节串。强烈建议您将应用程序切换到Unicode字符串。 我怎样才能将我的应用程序切换到上面提到的Unicode字符串,或者如果有其他方法来解决这个问题,

  • 在我的主要活动中,我附加了两个片段并使用tablayout。每当我把光变暗或者把暗变亮,我都会得到这个错误,在这里输入图像描述 错误显示在super的onCreate()中。onCreate(savedInstanceState)main活动。

  • 我正在运行一个名为RSPM的应用程序。在kubectl apply-f之后,pod正在成功创建 部署。亚马尔 这里是配置。yaml文件 任何帮助都将不胜感激!谢谢

  • 我正在自动运行一个本机iOS应用程序,点击“向Facebook注册”后,Facebook应用程序将打开,用户可以在其中输入登录凭据。问题是,Facebook应用程序打开后,没有任何元素可以与之交互,尽管它们位于Appium inspector中。那么,在返回到原始应用程序之前,有没有办法切换到Facebook应用程序并与之交互? Appium版本:1.4.13 Mac OS X:10.11.4设备

  • 我有一个测试用例,在iPhone中我必须1。在app a.2中执行一个任务。切换到Safari浏览器并执行任务3。再次切换回应用程序A并继续其他任务 目前,我可以执行1&2&然后切换回应用程序A,但从safari浏览器切换后,我不能在应用程序A中执行任何任务。我所做的如下。 为了从我的应用程序切换到Safari,我使用以下代码启动了一个新的会话来切换到Safari 现在的问题是再次从safari浏

  • 在上传我的Android应用程序时,我收到了一封被谷歌拒绝的邮件 问题:违反权限政策在审查您的应用程序后,我们发现它不符合使用请求的权限的条件,原因如下:根据我们的审查,我们发现您的应用程序表达的用户体验与您声明的核心功能不匹配{默认短信处理程序(以及默认处理程序时使用的任何其他核心功能)、短信或电话的跨设备同步或传输、基于短信的金融交易(例如,5位消息)以及相关活动,包括用于金融交易和欺诈检测的