1

私は狂ったように見えるバグを持っていますか???

アクティビティからフラグメントを開始しています。

フラグメントで startActivityForResult を呼び出し、ギャラリーから画像を取得しようとしています。

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

ギャラリーから戻ると、アプリケーションがクラッシュしました。問題を追跡したところ、アクティビティに戻るとonCreate()、フラグメントの が再び起動されたことがわかりました。フラグメントが別の機会に作成され、Web サービス オブジェクトが削除された理由がわかりません。

@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 モバイルでテストを実行すると、すべて問題なく動作し、このバグは発生しません。しかし、Nexus S (android 4.1) でアプリを実行すると、画像を取得しようとすると常にクラッシュします。

フラグメントが再度作成された理由を知りたいですか? なぜ私の webServiceManager オブジェクトが削除されたのですか?

ログキャット:

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
4

0 に答える 0