android - 尝试在空对象引用上调用虚拟方法 'android.os.Handler android.app.FragmentHostCallback.getHandler()'
问题描述
由 java.lang.NullPointerException 引起尝试在空对象引用上调用虚拟方法 'android.os.Handler android.app.FragmentHostCallback.getHandler()'
我有一个片段,其中有一个图像,它的作用就像滑动以关闭,当这个动作发生时,我必须返回。下面是我为此提供的代码。
BaseFragment.kt
fun goBack() {
if (activity is BaseActivity<*>) (activity as BaseActivity<*>).goBack()
}
基本活动.kt
open fun goBack() = onBackPressed()
@CallSuper
override fun onBackPressed() {
if (supportFragmentManager.backStackEntryCount > 0)
supportFragmentManager.popBackStackImmediate()
else super.onBackPressed()
}
在上述情况下,调用总是转到 super.onBackPressed()。在本地和生产中的大多数用户中一切正常。然而,对于某些用户来说,当 super.onBackPressed() 被调用时,它会抛出 NPE 之上。
解决方案
推荐阅读
- javascript - Charts.js 销毁之前的数据并更新
- php - PHP while($content = zip_read()) 缺少文件
- python - 检查输入是否等于 x 和 y 然后打印
- php - 在php文件中使用ajax发送和接收多条数据
- mysql - 如何通过 ODBC 使用参数更新数据库?
- python - csv 上传功能有效,但如果我想用内容填充它会出错
- java - 通用 protobuf 解析器中的 java.io.NotSerializableException
- json - 如何删除json行中的空列表和字典并计算它们?
- html - 如何在锚标记的href内获取转义空间
- android - 通知参数仅在应用程序处于前台时显示