如何解决“上的空对象引用‘’尝试调用虚拟方法” android.support.v4.app.p android.support.v4.app.k.a()

问题描述 投票:2回答:1

我从多个用户试图获得片段管理器时获得这一崩溃。任何想法,为什么会崩溃吗?

@Override
 public void onNoInternetError() {
   Log.i("base", "no internet error!");
   final FragmentTransaction ft = getFragmentManager().beginTransaction();
   final NoInternetFragment fragment = new NoInternetFragment();
   ft.replace(R.id.content_frame, fragment, "noInternetFragment");
   ft.addToBackStack(null);
   ft.commit();

错误

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'android.support.v4.app.p android.support.v4.app.k.a()' on a null object reference
       at com.abc.abc.fragments.ABCFragmentBase$1.onNoInternetError(ABCFragmentBase.java:112)
       at com.abc.abc.ui.components.NoInternetListener.showNoInternetFragment(NoInternetListener.java:14)
       at com.abc.abc.ServerManager.handleFailure(ServerManager.java:1875)
       at com.abc.abc.ServerManager.access$100(ServerManager.java:54)
       at com.abc.abc.ServerManager$33.onFailure(ServerManager.java:1220)
       at com.abc.sdk.JsonObjectRequest.deliverError(JsonObjectRequest.java:70)
       at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:108)
       at android.os.Handler.handleCallback(Handler.java:789)
       at android.os.Handler.dispatchMessage(Handler.java:98)
       at android.os.Looper.loop(Looper.java:164)
       at android.app.ActivityThread.main(ActivityThread.java:6944)
       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)
android
1个回答
1
投票

从你的代码看起来像getFragmentManager()调用返回null,这可能意味着你的片段没有经过onAttach()好了吗

你可以添加一个标志连接错误,然后后onAttach()显示相关信息

© www.soinside.com 2019 - 2024. All rights reserved.