Выполнить событие при возвращение во фрагмент
У меня есть фрагмент, в котором вызывается второй фрагмент таким способом
ShareFragment frg4 = new ShareFragment ();
FragmentTransaction trans4 = getFragmentManager().beginTransaction();
trans4.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out);
trans4.replace(R.id.nav_host_fragment, frg4);
trans4.addToBackStack(null);
trans4.commit();
Возвращение осуществляется нажатием кнопки назад. Как при возвращении назад выполнить определенные действия? Например изменить текст в EditText?
Ответы (1 шт):
Автор решения: Maks
→ Ссылка
Можно это сделать так: Когда мы на втором фрагменте и нажимается кнопка назад мы вместе с заменой фрагмента передаём в него аргумент.
ShareFragment fragment = new ShareFragment ();
Bundle arguments = new Bundle();
arguments.putString( string_key , desired_string);
fragment.setArguments(arguments);
final FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.content, fragment);
ft.commit();
Потом просто проверяем наличие этого аргумента. Если он есть то мы изменяем текст в EditText а если нет то выполняем обычные действия.
Bundle arguments = getArguments();
if(arguments!=null){
EditText.setText("text");
}