gpt4 book ai didi

java - DialogFragment神秘的空指针异常

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:23:58 25 4
gpt4 key购买 nike

我似乎无法从 Eclipse 给我的堆栈跟踪中得出头或尾。用于工作的代码。我不确定我改变了什么。但是现在当我启动对话框 fragment 时,应用程序崩溃并显示以下错误日志。

FATAL EXCEPTION: main
Process: com.company.appname, PID: 8962
java.lang.NullPointerException
at android.support.v4.app.DialogFragment.onActivityCreated(DialogFragment.java:366)
at android.support.v4.app.Fragment.performActivityCreated(Fragment.java:1508)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:958)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1115)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1478)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:446)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5579)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
at dalvik.system.NativeStart.main(Native Method)

我的代码量很大,所以我不确定要显示哪一部分。所以也许有人已经看到这种神秘的崩溃,显然在我的代码中没有根(即因为 eclipse 没有命名)

更新

好的。我找到了罪魁祸首。但我仍然不知道如何修复它。所以我有 CatDialog(现在崩溃的那个)和 FacebookDialog。所以我让这两个 DialogFragments 独立工作。但现在我从 CatDialog 的 onCreateView 方法中启动 FacebookDialog。这就是崩溃的原因。启动是有条件的,如下代码所示

protected void requestFaceBookPublishPermission() {
Log.i(TAG, "going into requestFaceBookPublishPermission");
Session session = Session.getActiveSession();
if (session == null || !session.isOpened() ||
!session.isPermissionGranted(FacebookDialog.PERMISSION)) {
FacebookDialog fb = new FacebookDialog();
fb.show(getChildFragmentManager(), "fb");
dismiss();
}
Log.i(TAG, "leaving requestFaceBookPublishPermission");

}

最佳答案

您正在从 requestFaceBookPublishPermission 内部调用 dismiss(),这完全是古怪!如果您从另一个 DialogFragment 的 onCreateView 内部调用它,则不能这样做。所以你播种让两者再次分开。不过这个问题很好。

所以请理解您在做什么:在返回 onCreateView 内的 View 之前您正在解散。你在先发制人。

关于java - DialogFragment神秘的空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28800754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com