java - 尝试在空对象引用上调用接口方法“java.lang.Object java.util.Map$Entry.getValue()”
问题描述
我在我的应用程序中面临以下问题,不知道它是如何产生或解决的。任何帮助都感激不尽。
Caused by java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.Object java.util.Map$Entry.getValue()' on a null object reference
at android.arch.lifecycle.LifecycleRegistry.isSynced(LifecycleRegistry.java:146)
at android.arch.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:323)
at android.arch.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:137)
at android.arch.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.java:123)
at android.support.v4.app.Fragment.performResume(Fragment.java:2396)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1467)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1752)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1821)
at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3251)
at android.support.v4.app.FragmentManagerImpl.dispatchResume(FragmentManager.java:3215)
at android.support.v4.app.FragmentController.dispatchResume(FragmentController.java:217)
at android.support.v4.app.FragmentActivity.onResumeFragments(FragmentActivity.java:509)
at android.support.v4.app.FragmentActivity.onPostResume(FragmentActivity.java:498)
at android.support.v7.app.AppCompatActivity.onPostResume(AppCompatActivity.java:171)
at android.app.Activity.performResume(Activity.java:7377)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3763)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3828)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1746)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6938)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
编辑:以下是 Activity 的恢复方法:
@Override
public void onResume() {
super.onResume();
updateParams();
if (!EventBus.getDefault().isRegistered(this)) {
EventBus.getDefault().register(this);
}
if (addButtonClicked) {
addButtonClicked = false;
refreshData();
}
if (isRestarted) {
isRestarted = false;
if (adapter != null && adapter.getFragmentAtPosition(0) != null && (adapter.getFragmentAtPosition(0).isAdded() || !adapter.getFragmentAtPosition(0).isDetached())) {
((ListFragment) adapter.getFragmentAtPosition(0)).searchList("");
}
}
checkAndUpdateOnTabs();
}
解决方案
生命周期扩展中的 API 已被弃用。相反,为您需要的特定生命周期工件添加依赖项。
lifecycle_version = "2.2.0"
def arch_version = "2.1.0"
// ViewModel
implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version"
// LiveData
implementation "androidx.lifecycle:lifecycle-livedata:$lifecycle_version"
// Lifecycles only (without ViewModel or LiveData)
implementation "androidx.lifecycle:lifecycle-runtime:$lifecycle_version"
// Saved state module for ViewModel
implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycle_version"
// Annotation processor
annotationProcessor "androidx.lifecycle:lifecycle-compiler:$lifecycle_version"
// alternately - if using Java8, use the following instead of lifecycle-compiler
implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"
// optional - helpers for implementing LifecycleOwner in a Service
implementation "androidx.lifecycle:lifecycle-service:$lifecycle_version"
// optional - ProcessLifecycleOwner provides a lifecycle for the whole application process
implementation "androidx.lifecycle:lifecycle-process:$lifecycle_version"
// optional - ReactiveStreams support for LiveData
implementation "androidx.lifecycle:lifecycle-reactivestreams:$lifecycle_version"
推荐阅读
- python - 有人能告诉我如何让访问 localhost:5000/play/5/(color) 的用户看到他们选择的颜色吗?
- git - 结帐后仅静音状态输出
- php - 通过ajax发送到数据表处理文件时查询被修改
- python - 模板django中的分页问题?
- javascript - 如何在 A-FRAME 中创建一个函数来仅更改 Z 位置,保持 Y a Z 对象的原始值?
- html - 如何在 CSS 网格单元格中的图像顶部显示图像(和图标)。
- javascript - 将图像与普通 Post 的其他元素一起放入 div
- java - Double to Int 没有损失精度
- java - 使用 BIMserver Java 客户端检索类的所有实例时出现空指针异常
- babeljs - 如何在 Babel 7 中使用 plugin-proposal-object-rest-spread 启用扩展运算符?