Фрагмент: вызов обратного вызова при нажатии кнопки возврата и его настройка

У меня есть фрагмент:

public class MyFragment extends Fragment{ ... @Override public View onCreateView(...){...} ... } 

Я создаю экземпляр:

 MyFragment myFragment = new MyFragment(); 

Я использую этот фрагмент для замены текущего фрагмента:

 FragmentManager fragmentManager = activity.getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); // replace fragment fragmentTransaction.replace(R.id.fragment_placeholder, myFragment, "myTag"); // NOTE: I did not add to back stack 

Теперь на экране отображается myFragment . ПРИМЕЧАНИЕ. Я не добавлял myFragment обратно в стек .

Мои два вопроса:

1. Если теперь, я нажимаю кнопку возврата к мобильному телефону, будет вызван обратный вызов жизненного цикла фрагмента?

2. Как я могу настроить прослушиватель MyFragment кнопки « MyFragment классе MyFragment ? (Просьба не предлагать мне делать myFragment.getView().setOnclickListener , но делать это в классе MyFragment )

Вопрос 1: см. http://developer.android.com/reference/android/app/Fragment.html#Lifecycle :

«Поскольку фрагмент больше не используется, он проходит обратную последовательность обратных вызовов:

OnPause () – фрагмент больше не взаимодействует с пользователем либо потому, что его действие приостанавливается, либо операция фрагмента модифицирует его в активности.

OnStop () – фрагмент больше не отображается пользователю либо потому, что его активность останавливается, либо операция фрагмента изменяет его в активности.

OnDestroyView () – позволяет фрагменту очищать ресурсы, связанные с его представлением.

OnDestroy () – вызов для окончательной очистки состояния фрагмента.

OnDetach () – вызываемый непосредственно перед тем фрагментом, который больше не связан с его активностью ".

Вопрос 2: Если вы должны знать, что именно задняя кнопка запускает обратные вызовы, вы можете захватить кнопку «Назад» в своей деятельности «Фрагмент» и использовать свой собственный метод для ее обработки:

 public class MyActivity extends Activity { //... //Defined in Activity class, so override @Override public void onBackPressed() { super.onBackPressed(); myFragment.onBackPressed(); } } public class MyFragment extends Fragment { //Your created method public void onBackPressed() { //Handle any cleanup you don't always want done in the normal lifecycle } }