2013-06-04 4 views

ответ

1

Фрагменты не имеют onBackPressed() обратного вызова, как и действия. Вы можете попытаться заставить свою деятельность поддерживать (или получать) ссылку на фрагмент и вызвать его фрагмент с onBackPressed().

фрагмент кода:

public boolean onBackPressed() { 
    // your special behavior here 
    // return true if you have consumed the back press 
} 

код активность:

public void onBackPressed() { 
    MyFragment fragment = getFragmentManager().findFragmentById(/* some unique id*/); 
    // could alternatively use findFragmentByTag() using a unique String 
    if (fragment != null) { 
     if (fragment.onBackPressed()) return; 
    } 

    // back press not consumed; allow usual behavior 
    super.onBackPressed(); 
} 
+0

[См этот пост, а] (http://stackoverflow.com/questions/7992216/android-fragment-handle-back -button-press) для большего количества примеров того же и аналогичного внедрения – Rarw

+0

Karakuri, я думаю, вы можете мне помочь. Я новый в программировании для Android. У меня нет активности, мой фрагмент вызывает класс, который «extends Fragment реализует ActionBar.TabListener» ... Так что я должен делать? Я должен создать еще один javaclass для активности? И когда мне нужно вызвать активность, и когда мне нужно вызвать фрагмент? Мой английский не очень хорош. Помоги пожалуйста! –

+0

Предлагаю вам прочитать больше о фрагментах на сайте разработчика. Вы не можете показать фрагмент сам по себе. Фрагмент всегда отображается в Управлении, либо включив его в XML-файл макета для активности, либо добавив его на экран в java позже. После того, как вы сделали свою деятельность, переопределите метод onBackPressed() ', как я показал. http://developer.android.com/guide/components/fragments.html – Karakuri

Смежные вопросы