当我试图从我的片段中获取图像时,应用崩溃

时间:2012-10-02 10:11:26

标签: android fragment android-image

我有一个看起来很疯狂的错误???

我从我的活动中开始片段。

在片段中,我调用startActivityForResult,尝试从图库中获取图像。

Intent intent = new Intent();
intent.setType("image/*"); 
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,"Select Image"), SELECT_IMAGE);

当我从画廊回来时,我的应用程序崩溃了。我跟着这个问题,我看到当我回到我的活动时,我看到我的片段的onCreate()再次被启动。我不明白为什么我的片段是在另一次创建的,我的webservice对象被删除了。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);   
    // TODO: Bug mWebServicesManager.getEditingBlogItem() return null sometimes, only when i open first time get image from galerie

    Log.i("EditImageSectionFragment","mWebServicesManager.getEditingBlogItem() ="+mWebServicesManager.getEditingBlogItem());    
    mSection = (ImagesSection) mWebServicesManager.getEditingBlogItem().getSections().get(mSectionPosition);
}

当我在HTC mobile上运行测试时,一切正常,我没有得到这个bug。但是当我在我的Nexus S(Android 4.1)上运行应用程序时,当我尝试获取图像时它总是会崩溃。

我想知道为什么我的片段又被创建了?为什么我的webServiceManager对象被删除了?

logcat的:

10-02 12:34:32.609: E/AndroidRuntime(32344): FATAL EXCEPTION: main
10-02 12:34:32.609: E/AndroidRuntime(32344): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.overblog/com.overblog.activities.EditActivity}: java.lang.NullPointerException
10-02 12:34:32.609: E/AndroidRuntime(32344):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
10-02 12:34:32.609: E/AndroidRuntime(32344):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
10-02 12:34:32.609: E/AndroidRuntime(32344):    at android.app.ActivityThread.access$600(ActivityThread.java:130)
10-02 12:34:32.609: E/AndroidRuntime(32344):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
10-02 12:34:32.609: E/AndroidRuntime(32344):    at android.os.Handler.dispatchMessage(Handler.java:99)
10-02 12:34:32.609: E/AndroidRuntime(32344):    at android.os.Looper.loop(Looper.java:137)
10-02 12:34:32.609: E/AndroidRuntime(32344):    at android.app.ActivityThread.main(ActivityThread.java:4745)
10-02 12:34:32.609: E/AndroidRuntime(32344):    at java.lang.reflect.Method.invokeNative(Native Method)
10-02 12:34:32.609: E/AndroidRuntime(32344):    at java.lang.reflect.Method.invoke(Method.java:511)
10-02 12:34:32.609: E/AndroidRuntime(32344):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
10-02 12:34:32.609: E/AndroidRuntime(32344):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-02 12:34:32.609: E/AndroidRuntime(32344):    at dalvik.system.NativeStart.main(Native Method)
10-02 12:34:32.609: E/AndroidRuntime(32344): Caused by: java.lang.NullPointerException
10-02 12:34:32.609: E/AndroidRuntime(32344):    at com.overblog.fragments.EditImageSectionFragment.onCreateView(EditImageSectionFragment.java:174)
10-02 12:34:32.609: E/AndroidRuntime(32344):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:870)
10-02 12:34:32.609: E/AndroidRuntime(32344):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1080)
10-02 12:34:32.609: E/AndroidRuntime(32344):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062)
10-02 12:34:32.609: E/AndroidRuntime(32344):    at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:1810)
10-02 12:34:32.609: E/AndroidRuntime(32344):    at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:501)
10-02 12:34:32.609: E/AndroidRuntime(32344):    at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1163)
10-02 12:34:32.609: E/AndroidRuntime(32344):    at android.app.Activity.performStart(Activity.java:5018)
10-02 12:34:32.609: E/AndroidRuntime(32344):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2032)
10-02 12:34:32.609: E/AndroidRuntime(32344):    ... 11 more

0 个答案:

没有答案