Quando si lavora con i frammenti, ho utilizzato una classe composta da metodi statici che definiscono le azioni sui frammenti. Per ogni progetto, potrei avere una classe chiamata FragmentActions
, che contiene metodi simili ai seguenti:
public static void showDeviceFragment(FragmentManager man){
String tag = AllDevicesFragment.getFragmentTag();
AllDevicesFragment fragment = (AllDevicesFragment)man.findFragmentByTag(tag);
if(fragment == null){
fragment = new AllDevicesFragment();
}
FragmentTransaction t = man.beginTransaction();
t.add(R.id.main_frame, fragment, tag);
t.commit();
}
Di solito avrò un metodo per schermata dell'applicazione. Faccio qualcosa di simile quando lavoro con piccoli database locali (di solito SQLite) quindi l'ho applicato ai frammenti, che sembrano avere un flusso di lavoro simile; Non sono sposato con lui però.
In che modo hai organizzato le tue applicazioni per interfacciarti con l'API Fragments e quali (se esistono) schemi di progettazione pensi applichi?