java - 新错误 java.lang.IllegalStateException : Can not perform this action after onSaveInstanceState

标签 java android xml google-maps android-fragments

我对谷歌地图的示例代码有疑问! 当我使用 eclipse 时,这段代码有效。我换了android studio,出现了一个错误。

错误是:(我没有 onSaveInstanceState 方法)

Caused by: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
            at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1360)
            at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1378)
            at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:595)
            at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:574)
            at android.support.v4.app.DialogFragment.show(DialogFragment.java:138)
            at com.example.smartoo.HomeActivity.servicesConnected(HomeActivity.java:325)
            at com.example.smartoo.HomeActivity.stopUpdates(HomeActivity.java:373)
            at com.example.smartoo.HomeActivity.onStop(HomeActivity.java:209)
            at android.app.Instrumentation.callActivityOnStop(Instrumentation.java:1212)
            at android.app.Activity.performStop(Activity.java:5376)
            at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3185)
            at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3234)
            at android.app.ActivityThread.access$1100(ActivityThread.java:135)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1223)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5017)
            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:779)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
            at dalvik.system.NativeStart.main(Native Method)

此行有错误:

errorFragment.show(getSupportFragmentManager(), LocationUtils.APPTAG);

代码:

/**
     * Verify that Google Play services is available before making a request.
     *
     * @return true if Google Play services is available, otherwise false
     */
    private boolean servicesConnected() {

        // Check that Google Play services is available
        int resultCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);

        // If Google Play services is available
        if (ConnectionResult.SUCCESS == resultCode) {
            // In debug mode, log the status
            Log.d(LocationUtils.APPTAG, getString(R.string.play_services_available));

            // Continue
            return true;
        // Google Play services was not available for some reason
        } else {
            // Display an error dialog
            Dialog dialog = GooglePlayServicesUtil.getErrorDialog(resultCode, this, 0);
            if (dialog != null) {
                ErrorDialogFragment errorFragment = new ErrorDialogFragment();
                errorFragment.setDialog(dialog);
                errorFragment.show(getSupportFragmentManager(), LocationUtils.APPTAG);
            }
            return false;
        }
    }

谢谢!

最佳答案

通常,上面的代码是在 onStart/OnResume 方法内部或这些方法之后调用的,而不是在 onStop/onSaveInstance< 内部调用的。您正在尝试在 Activity 被杀死后执行一些操作。在调用 onStop/finish/saveInstances 方法之前执行 serivcesConnected 调用。

关于java - 新错误 java.lang.IllegalStateException : Can not perform this action after onSaveInstanceState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24799369/

相关文章:

java - 如何从 java eclipse DOM 上的 XML 文件获取 href 值

java - 问题检索类似的 firebase 子元素

android - 使 ListView 中的按钮和列表可点击

android - 在Android Wear上使用Google语音识别,而不显示特定的用户界面

java - 抽屉导航项目图标未显示原始颜色

python - 从 XML 注释转换为 BRAT 格式

java - Java Point 类 getX() 或 getY() 是否自动转换?

java - 我正在尝试打印出二维数组的右下三角形

java - 使用 gradle-retrolambda 和 Lightweight-Stream-API 在 Android 中过滤对象列表

xml - 如何用定界符分隔 XPath 结果?