我想从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()
}
....................
1条答案
按热度按时间kuarbcqp1#
在ViewPager中总是存在找到片段的风险,因为ViewPager不会保留所有片段(有点像RecyclerView)。您可以考虑使用EventBus发送和接收
clear-data
事件。有关更多详细信息,请参阅通过将
as
更改为as?
来修复NPT很容易。但您的应用程序可能不会按预期运行(ChatAdapter将不会被清除)