相关疑难解决方法(0)

没有关于可能发生NPE的迹象

这是我作为错误得到的堆栈跟踪:

流程:com.peems.itcrowd,PID:2949 java.lang.NullPointerException:尝试在android.support.v4.app.FragmentManagerImpl上的空对象引用上调用虚拟方法'int java.util.ArrayList.size()'。 android.support.v4.app.FragmentStatePagerAdapter.restoreState(FragmentStatePagerAdapter.java:215)处的getFragment(FragmentManager.java:873)android.support.v4.view.ViewPager.onRestoreInstanceState(ViewPager.java:1481)处的android.support.v4.app.FragmentStatePagerAdapter.restoreState .View.dispatchRestoreInstanceState(View.java:15751)在android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:3231)在android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:3237)在android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:3237)在android。在android.support.v4.app.Fragment.restoreViewState(Fragment.java:475)处的view.View.restoreHierarchyState(View.java:15729)在android.support.v4.app.FragmentManagerImpl处android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1528)处的moveToState(FragmentManager.java:1329)android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1595)处的android.support.v4.app。 .v4.app.BackStackRecord.executePopOps(BackStackRecord.java:803)在android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2353)在android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java) :2146)在android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2098)在android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2008)在android.support.v4.app.FragmentManagerImpl $ 1.run(FragmentManager.java:710)在android.os.Handler.handleCallback(Handler.java:751)在android.os.Handler.dispatchMessage(Handler.java:95)在android.os.Looper.loop(Looper .java:154)在android.app.ActivityThread.main(ActivityThread.java:6119)在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:的java.lang.reflect.Method.invoke(本机方法)处886),位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)处com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:886)处调用(本机方法)在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)处com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:886)处调用(本机方法)

我将解释如何解决此错误。在我的片段中,我调用此方法,然后将执行我的活动并启动另一个包含的片段viewpager

@Override
public void checkoutCartResult(Result<Shop> result) {
    mShop = result.getData();
    sendActionToActivity(ACTION_ORDER, mShop);
    DisplayUtil.doToast(getContext(), getString(R.string.checkout_successful));
}

private void sendActionToActivity(String action, Shop shop) {
    if (mListener == null) {
        return;
    }
    Bundle bundle = new Bundle();
    bundle.putString(Constants.ACTION_KEY, action);
    bundle.putParcelable(Constants.DATA_KEY_1, Parcels.wrap(shop));
    mListener.onFragmentInteraction(bundle);
}
Run Code Online (Sandbox Code Playgroud)

上面的方法将触发此片段:

    public class ShopFragment extends BaseFragment implements ShopView,
        ViewPager.OnPageChangeListener {

    private static final String TAG = ShopFragment.class.getName();
    private static final String …
Run Code Online (Sandbox Code Playgroud)

android nullpointerexception android-fragments android-viewpager fragmentmanager

1
推荐指数
1
解决办法
520
查看次数