Передача объектов во фрагменты

В последнее время я работал с множеством Фрагментови использовал два различных метода передачи объектов во Фрагменты, но единственное различие, которое я вижу, заключается в том, что в подходе взятый FragmentOne ниже, объект, который вы передаете, должен реализовывать интерфейс Serializable( и все, что с ним связано).

Есть ли какие-либо преимущества в использовании одного перед другим?

public class FragmentOne extends Fragment {
    public static final String FRAGMENT_BUNDLE_KEY = 
        "com.example.FragmentOne.FRAGMENT_BUNDLE_KEY";

    public static FragmentOne newInstance(SomeObject someObject) {
        FragmentOne f = new FragmentOne();
        Bundle args = new Bundle();
        args.putSerializable(FRAGMENT_BUNDLE_KEY, someObject);
        f.setArguments(args);
        return f;
    }

    public SomeObject getSomeObject() {
        return (SomeObject) getArguments().getSerializable(FRAGMENT_BUNDLE_KEY);
    }
}

и

public class FragmentTwo extends Fragment {
    SomeObject mSomeObject;  

    public static FragmentTwo newInstance(SomeObject someObject) {
        FragmentTwo fragment = new FragmentTwo();
        fragment.setSomeObject(someObject);
        return fragment;
    }

    public void setSomeObject(SomeObject someObject) {
        mSomeObject = someObject;
    }
}

40
задан JJD 9 January 2015 в 15:19
поделиться