Ao trabalhar com fragmentos, uso uma classe composta por métodos estáticos que definem ações em fragmentos. Para qualquer projeto, posso ter uma classe chamada FragmentActions
, que contém métodos semelhantes ao seguinte:
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();
}
Normalmente, terei um método por tela de aplicativo. Faço algo assim quando trabalho com pequenos bancos de dados locais (geralmente SQLite), então apliquei-o a fragmentos, que parecem ter um fluxo de trabalho semelhante; Eu não sou casado com isso, no entanto.
Como você organizou seus aplicativos para interagir com a API Fragments e quais padrões de design (se houver) você acha que se aplicam?