ViewPager2 notificationItemChanged 的​​ FragmentStateAdapter 未按预期工作

2024-03-25

我正在将 ViewPager2 与 FragmentStateAdapter 一起使用,并且正在调用 notificationItemChanged(position)。但正如预期的那样,createFragment 方法不会再次调用。这是预期的行为还是错误,我应该做什么

我的代码是

    class EEditionPagerAdapter(
    fragmentManager: FragmentManager, lifecycle: Lifecycle, private var date: String
    ) : FragmentStateAdapter(fragmentManager, lifecycle) {

    private var menuList = emptyList<EEditionMenu>()

    override fun getItemCount(): Int = menuList.size

    override fun createFragment(position: Int): Fragment {
        val menu = menuList[position]
        return EEditionListingFragment.newInstance(menu, date)
    }

    fun submitList(list: List<EEditionMenu>) {
        menuList = list
        notifyItemRangeChanged(0, menuList.size)
    }

    fun changeDate(date: String, position: Int){
        this.date = date
        notifyItemChanged(position)
    }
}

FragmentStateAdapter 使用项 ID 来确定片段是否已创建并重用已创建的片段。默认情况下,项目 ID 是项目的位置。您可以覆盖getItemId and containsItem根据位置和日期提供您自己的唯一 ID,那么当日期更改时,它将要求新的片段。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ViewPager2 notificationItemChanged 的​​ FragmentStateAdapter 未按预期工作 的相关文章

  • 如何在gridview中根据屏幕尺寸设置图像宽度高度

    我想显示 3x3 大小的网格视图 我想根据设备尺寸设置高度和宽度 我正在参考这个链接 http www tutorialspoint com android android grid view htm 主要活动 public class M
  • Android 是否可以使用并发插值器?

    我有一组两个动画 两个动画使用过冲插值器一起运行
  • 我们应该为 Android L Material 主题进行设计吗?

    我刚刚开始为 Android L Material 主题设计我的应用程序 我知道我们必须首先检查我们现有的应用程序是否可以与 ART 新的 WebView 等一起正常工作 但更进一步 我希望我的应用程序在 Android L 正式发布时做好
  • android 中的自定义 MediaPlayer 类

    我刚刚完成了一个项目 我使用网络视图进行视频播放 现在我被要求用自定义播放器替换 webview 部分 玩家应该能够处理 HLS 如果我使用VideoView和MediaController 我可以播放直播 但不幸的是 MediaContr
  • 如何在eclipse中打开项目

    我下载了 LISTView 教程的 zip 文件 其中包含所有文件 但我不知道如何在 Eclipse 中打开它 因为它只是打开文件 而不是整个项目 我从这里下载的 http mfarhan133 wordpress com 2010 10
  • 将 Uri 转换为字符串以及将字符串转换为 Uri

    我正在开发一些应用程序 它允许从 SD 卡中选择图像 将其保存到数据库中并为 ImageView 设置该值 我需要知道将 uri 转换为字符串以及将字符串转换为 uri 的方法 现在我使用了 Uri 的 getEncodedPath 方法
  • 如何获取Android崩溃日志?

    我有一个不在市场上的应用程序 使用调试证书签名 但希望在我的应用程序崩溃时获取崩溃日志数据 在哪里可以找到我的应用程序崩溃原因的日志 如果您的应用程序正在被其他人下载并在远程设备上崩溃 您可能需要查看 Android 错误报告库 参考这个帖
  • 两个外部第三方混淆库中存在重复的类名

    我有一个项目 其中包含两个外部第三方库 当尝试构建项目时 这两个库的类文件名都被混淆了 并且 gradle barfs 了 Duplicate class a a a a a b found in modules 我无法排除任何类 因为它们
  • 剃须刀付款给予 未发现合适的付款方式错误

    所以我正在实现这个简单的剃 刀支付集成 但它给了我一个 找不到合适的付款方式 错误 我之前尝试过选择付款选项表格 但也不起作用 val razorpay RazorpayClient my key my secret key val ord
  • Android蓝牙权限问题

    首先 抱歉我的英语不好 我是西班牙人 并且是 Android 开发的新手 我正在开发一个简单的蓝牙文件发送器 我基于BluetoothChat android示例一步一步 现在我向用户发出蓝牙激活请求 并选择是或否选项应用程序崩溃 我拥有清
  • 适用于 Web 和移动设备的 ASP.NET Web API 社交身份验证

    我的问题有点复杂 所以请耐心等待我 因为我试图很好地阐明我正在努力解决的问题 Goal 拥有一个 ASP NET 网站 允许用户通过用户名 密码或也具有 API 的社交网站 Facebook Twitter Google 等 注册和登录 该
  • Android - 检测电容式触摸屏上的触摸压力?

    我听说过 MotionEvent e float press e getPressure 但这只会在没有触摸时返回 0 当我的手指触摸屏幕时返回 1 是否可以找到手指在触摸电容屏上施加的压力值 或者我的预感是否正确 即这只适用于电阻屏幕 M
  • 在 Facebook 上分享时如何更改 Play 商店应用程序的预览?

    我已在 Google Play 开发者控制台中更改了游戏的图标和屏幕截图 并且它在 Play 商店中正确显示 但当我尝试在 Facebook 上分享 Play 商店链接时 预览会带有旧图标和屏幕截图 如何将此预览更新到应用程序的最新版本 你
  • 小部件双击

    我有一个小部件 AppWidgetProvider 我想知道是否有办法支持多次点击 示例 1 如果是第一次点击widget 那么widget的ImageButton会发生变化 例如 改变颜色 2 如果是第二次 则打开一个Activity A
  • 如何确定 Android UI 元素的 XPATH。硒 + Appium

    我目前正在使用 Appium 和 Selenium 自动化 Android 应用程序 并且在通过 ID 定位元素时遇到了一些问题 我想使用 XPATH 但不知道如何获取 android UI 元素的 XPATH 有谁知道如何确定元素的 XP
  • Android 浏览器缩放?

    我正在尝试为 Android 创建一个移动网站 当我将主体宽度设置为 480px 屏幕宽度 时 结果比我预期的大 50 左右 看来 android 正在缩放它所绘制的内容并弄乱了我所有的布局 有谁知道如何禁用它或解决它 我已经在使用这个 您
  • Eclipse java 断点 - 目的是什么?

    我正在学习 Android 教程 刚刚进入调试部分 我想知道断点的用途是什么 我还不能告诉 它实际上停止了应用程序 以便我可以确定它运行到该点 或者我可以设置多个断点并将它们用作标记来从断点到断点检查 停止和运行 我的代码 断点是执行停止的
  • 如何在Android中编辑文本时限制文本的数字仅在0-59之间?

    我有一个Edit Text其中数字只能介于0 59 不会再输入其他数字Edit Text 我试过text watcher但没有获得成功 任何想法 12 26 14 59 39 715 E AndroidRuntime 19494 FATAL
  • Android:需要记录麦克风输入

    有没有办法在实时播放 预览过程中记录 Android 中的麦克风输入 我尝试使用AudioRecord and AudioTrack这样做 但问题是我的设备无法播放录制的音频文件 实际上 任何Android播放器应用程序都无法播放录制的音频
  • 除了前一个按钮意图之外,如何添加另一个按钮意图?

    这是我的代码 它包含一个名为的按钮button1A当我单击它时 它会打开一个名为的列表list1 如何为另一个名为 button2A 的按钮添加代码 该按钮将打开一个列表 List2 import android os Bundle imp

随机推荐