【问题标题】:Binding becomes when fragment is visible in ViewPager当片段在 ViewPager 中可见时绑定变为
【发布时间】:2022-01-18 10:15:08
【问题描述】:

问题: 我有一个ContainerFragment,其中有一个 ViewPager。 CameraFragment 正在此查看器中显示。快门按钮位于ContainerFragment 中,当单击快门按钮以单击图片时,我正在使用接口接收 CameraFragment 中的回调。收到回调后,我会尝试捕获图像并导致应用程序崩溃并出现错误。

日志:

    java.lang.IllegalStateException: should never call auto-cleared-value get when it might not be available
            at com.example.chat.utils.services.AutoClearedValue.getValue(AutoClearedValue.kt:51)
            at com.example.chat.ui.base.BaseFragment.getBinding(BaseFragment.kt:41)
            at com.example.chat.ui.camera.camera.CameraFragment.captureImage(CameraFragment.kt:127)
    at com.example.chat.ui.camera.camera.CameraFragment.onShutterClicked(CameraFragment.kt:135) 
at com.example.chat.ui.camera.camerafragmentcontainer.CameraContainerFragment.handleShutterClick(CameraContainerFragment.kt:94)

【问题讨论】:

    标签: android kotlin android-fragments android-viewpager2 android-viewbinding


    【解决方案1】:

    解决了这个问题。问题是,当我初始化界面时,我正在创建一个 CameraFragment() 的实例,并且再次在 viewpager 中创建了一个新实例。所以只需在 viewpager 中传递相同的实例,问题就解决了。

    【讨论】:

    • 你能检查一下这个issue
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-22
    • 1970-01-01
    • 2018-07-31
    • 1970-01-01
    相关资源
    最近更新 更多