Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Как вариант сойдёт, но если фрагментов будет очень много, то создаются огромные выборки статической переменной и начитаешь путаться, какое значение отвечает за какой фрагмент.
Проблема 5
Проблема 2
Проблема очень эстетично решается через создание синглтона главной активити, в которой происходит управление фрагментами, и уже через синглтон вызывать открытие нового фрагмента
Ещё один вариант, предлагаемый документацией Google — это через объект интерфейса, то есть фрагмент обрабатывает нажатие на свои кнопки и при нажатии создаётся объект интерфейса, который реализует активность… Умейте дочитать до конца.
System.out.println(«MainActivity:onBackPressed()»);
if (idTheCurrentFragment == 4) {
приложения на 3-4 активити без какой-то сложной графики. Не могу понять, что там может тормозить.
И ещё я сравнивал по ОЗУ. Фрагменты экономнее.
На телефоне под андроид 4.1 видно как создаётся ещё одно окно.
И ещё я сравнивал по ОЗУ. Фрагменты экономнее.
sharedPref = context.getSharedPreferences(«RatFile», MODE_PRIVATE);
....
startActivity(intent); //стартуем активити
overridePendingTransition(R.anim.fadein, R.anim.fadeout); //меняем анимацию запуска/закрытия активити
попробуйте realm.
Тяжело с SQLite...
N5. По поводу кнопок — кнопки можно создавать и в XML и программно и как вашей душе угодно, а есть еще такая замечательная вещь как data binding…
public void startFragment(Fragment fragment, boolean addToBackStack) {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.container, fragment);
if(addToBackStack) {
fragmentTransaction.addToBackStack("frame");
}
else {
fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}
fragmentTransaction.commit();
}
MainActivity activity;
activity = (MainActivity) getActivity();
buttonToFragmentB.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentB fragment = new FragmentB();
activity.startFragment(fragment, true);
}
});
Проблемы, возникающие при разработке android-приложений