IllegalArgumentException异常。找不到id的视图:在片段中捕获图像

时间:2014-05-30 06:29:23

标签: android android-fragments camera illegalargumentexception

我在我的应用中使用片段中的原生相机应用。但它会随机抛出IllealArgumentException错误。有时候它有效地完成它有时它不会。

当我保存图像时捕获图像后,应用程序崩溃抛出错误会发生什么。我想这是因为我在我的应用程序中使用嵌套片段。

我的活动首先在framelayout中启动“HomeFragment”。这个“HomeFragment”里面还有一个framelayout,它的子片段就会被启动。

我捕获图像的片段也是这些子片段之一。

这是我的捕获代码 -

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

        fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);

        intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);

        // start the image capture Intent
        startActivityForResult(intent, CAMERA_CAPTURE_IMAGE_REQUEST_CODE);

这就是我在onActivityResult方法中所做的,这就是我在片段本身中重写的方式。

public void onActivityResult(int requestCode, int resultCode, Intent data) {

        super.onActivityResult(requestCode, resultCode, data);




        if (requestCode == CAMERA_CAPTURE_IMAGE_REQUEST_CODE) {
            if (resultCode == getActivity().RESULT_OK) {

                previewCapturedImage();

            } else if (resultCode == getActivity().RESULT_CANCELED) {

                Toast.makeText(getActivity(),
                        "Image capturing cancelled.", Toast.LENGTH_SHORT)
                        .show();
            } else {

                Toast.makeText(getActivity(),
                        "Sorry! Failed to capture image", Toast.LENGTH_SHORT)
                        .show();
            }
        }


    }

这是logcat数据 -

05-30 11:39:31.885  12798-12798/com.cgt.myHAE W/dalvikvm﹕ threadid=1: thread exiting          with uncaught exception (group=0x4128f930)
05-30 11:39:34.908  12798-12798/com.cgt.myHAE E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity         ComponentInfo{com.cgt.myHAE/com.cgt.myHAE.MyHAE_HomeActivity}:      java.lang.IllegalArgumentException: No view found for id 0x7f09007e (com.cgt.myHAE:id/myAttackFrame) for fragment myAttackListFrag{41e73ea8 #5 id=0x7f09007e}
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2245)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2299)
        at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3783)
        at android.app.ActivityThread.access$800(ActivityThread.java:150)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1286)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:5283)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at      com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
        at dalvik.system.NativeStart.main(Native Method)
 Caused by: java.lang.IllegalArgumentException: No view found for id 0x7f09007e (com.cgt.myHAE:id/myAttackFrame) for fragment myAttackListFrag{41e73ea8 #5 id=0x7f09007e}
        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:903)
        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
        at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
        at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
        at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:551)
        at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1181)
        at android.app.Activity.performStart(Activity.java:5293)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2218)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2299)
            at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3783)
            at android.app.ActivityThread.access$800(ActivityThread.java:150)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1286)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:5283)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at     com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
            at dalvik.system.NativeStart.main(Native Method)
05-30 11:39:36.149  12798-12802/com.cgt.myHAE D/dalvikvm﹕ GC_CONCURRENT freed 3349K, 13%    free 24012K/27588K, paused 4ms+3ms, total 27ms

0 个答案:

没有答案