При работе с фрагментами я использовал класс, состоящий из статических методов, которые определяют действия над фрагментами. Для любого данного проекта у меня может быть класс с именем FragmentActions
, который содержит методы, подобные следующим:
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();
}
Я обычно использую один метод для каждого экрана приложения. Я делаю что-то подобное, когда работаю с небольшими локальными базами данных (обычно SQLite), поэтому я применил это к фрагментам, которые, похоже, имеют схожий рабочий процесс; Я не женат на этом, хотя.
Как вы организовали свои приложения для взаимодействия с API фрагментов, и какие (если таковые имеются) шаблоны проектирования, по вашему мнению, применимы для этого?