0

フラグメンテーションを実装しました。これを参考にしました。オブジェクトの値が失われます..

私のコード

public ImageDetailsFragment(Data photo) {
    this.photo = photo;     
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    setRetainInstance(true);

    if (mContext == null) {
        mContext = getActivity();
    }

    gv = (LinearLayout) inflater.inflate(R.layout.image_details, null);

    initAd(gv, R.id.adLayout);
    initTab(gv);

    return gv;
}


private void initTab(LinearLayout gv) {

    tvTitleText = (TextView) gv.findViewById(R.id.tvTitleText);
    tvTitleText.setTypeface(Utils.getBold(getActivity()));
    tvTitleText.setText(photo.name);
}


private void shareInstagram() {
    try {
        File file = new File(Environment.getExternalStorageDirectory()
                + "/tmp.jpg");

        if (file.exists() && file.isFile()) {
            Intent shareIntent = new Intent(Intent.ACTION_SEND);
                    shareIntent.setType("image/*");
                    shareIntent.putExtra(Intent.EXTRA_TEXT, "" + photo.name);
                    shareIntent.setPackage("com.instagram.android");
            shareIntent.putExtra(Intent.EXTRA_STREAM,
                    Uri.parse("file://" + file.getAbsolutePath()));
            startActivity(shareIntent);
        }
    } catch (Exception e) {
        e.printStackTrace();            
    }

}

上記のコードは正常に動作します。しかし、Instagramで自分の画像を共有すると、戻ってきたときに共有した後、ヌルポインター例外でクラッシュします。

私のログキャット

05-01 12:38:27.230: E/AndroidRuntime(7505): Caused by: java.lang.NullPointerException
05-01 12:38:27.230: E/AndroidRuntime(7505):     at weetech.alliswall.fragments.ImageDetailsFragment.initTab(ImageDetailsFragment.java:224)
05-01 12:38:27.230: E/AndroidRuntime(7505):     at weetech.alliswall.fragments.ImageDetailsFragment.onCreateView(ImageDetailsFragment.java:201)
05-01 12:38:27.230: E/AndroidRuntime(7505):     at android.support.v4.app.Fragment.performCreateView(Fragment.java:1460)
05-01 12:38:27.230: E/AndroidRuntime(7505):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:911)
05-01 12:38:27.230: E/AndroidRuntime(7505):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
05-01 12:38:27.230: E/AndroidRuntime(7505):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1070)
05-01 12:38:27.230: E/AndroidRuntime(7505):     at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:1861)
05-01 12:38:27.230: E/AndroidRuntime(7505):     at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:547)
05-01 12:38:27.230: E/AndroidRuntime(7505):     at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1167)
05-01 12:38:27.230: E/AndroidRuntime(7505):     at android.app.Activity.performStart(Activity.java:5216)
05-01 12:38:27.230: E/AndroidRuntime(7505):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2073)
05-01 12:38:27.230: E/AndroidRuntime(7505):     ... 11 more

写真のオブジェクトが壊れているか、何か他のものだと思います。また、他のソリューションも歓迎されます。

4

0 に答える 0