Android Fragments 从主ViewPager片段访问片段中的函数

83qze16e  于 2023-03-30  发布在  Android
关注(0)|答案(1)|浏览(163)

我想从ViewPager片段访问第二个片段中的函数,但每次都出现此错误。

java.lang.NullPointerException:null不能转换为非null类型com.eltoh.date.onboarding.screens.ChatListFragment

我试图执行此函数多次,但错误仍然.下面,从两个片段的代码示例.如果有人可以帮助.谢谢你...
第二个片段中所需的函数

fun clearAdapter() {
        chatListAdapter.clearList()
        chatListAdapter.getSelectedItem().clear()
    }

ViewPager片段中的函数调用

view?.backSelBtn?.setOnClickListener {
                val fm: FragmentManager? = fragmentManager
                val fragM: ChatListFragment =
                    fm?.findFragmentById(R.id.chatListFrag) as ChatListFragment
                fragM.clearAdapter()
            }

....................

kuarbcqp

kuarbcqp1#

在ViewPager中总是存在找到片段的风险,因为ViewPager不会保留所有片段(有点像RecyclerView)。您可以考虑使用EventBus发送和接收clear-data事件。
有关更多详细信息,请参阅通过将as更改为as?来修复NPT很容易。但您的应用程序可能不会按预期运行(ChatAdapter将不会被清除)

相关问题