Quando lavoro con i frammenti, ho usato una classe composta da metodi statici che definiscono le azioni sui frammenti. Per ogni dato 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 ho un metodo per schermata dell'applicazione. Faccio qualcosa del genere quando lavoro con piccoli database locali (di solito SQLite), quindi l'ho applicato ai frammenti, che sembrano avere un flusso di lavoro simile; Non ci sono sposato però.
In che modo hai organizzato le tue applicazioni in modo da interfacciarle con l'API Fragments e quali (se presenti) modelli di progettazione ritieni siano applicabili?