Objekte an Fragmente übergeben

Ich habe mit vielen gearbeitetFragments Ich habe in letzter Zeit zwei unterschiedliche Methoden zum Übergeben von Objekten an die Fragmente verwendet, aber der einzige Unterschied, den ich sehen kann, besteht darin, dass das Objekt, das Sie übergeben, in der Vorgehensweise von FragmentOne das implementieren mussSerializable Schnittstelle (und alles was damit zusammenhängt).

Gibt es irgendwelche Vorteile, wenn man eins über das andere benutzt?

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);
    }
}

und

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;
    }
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage