2015-12-09 2 views
0

Я разрабатываю приложение, в котором MainActivity расширяет фрагмент. Здесь мне нужно позвонить onBackPressed для некоторого использования. Как я могу это достичь?Как вызвать onBackPressed в MainActivity, который расширяет фрагмент в android?

Я использовал ниже код, который не работал

class MainActivity extends Freagment{ 
. 
. 
. 
. 

Override 
public void onBackPressed() { 
    super.onBackPressed(); 
} 
} 

Предыдущая страница, как эта

class LoadWebData extends Activity 
{ 
. 
. 
. 
} 
+0

Фрагменты не имеют метода 'onBackPressed()'. –

+0

Могу я знать, что именно вы хотите сделать? – Rahul

+0

http://stackoverflow.com/questions/5448653/how-to-implement-onbackpressed-in-android-fragments – Ravin

ответ

0

вы можете добавить конкретный фрагмент в backstack путем вызова метода addToBackStack. взгляните на пример this.

MyDetailFragment myDetailFragment = new MyDetailFragment(); 
myDetailFragment.setArguments(bundle); 
FragmentTransaction fragmentTransaction = 
getActivity().getFragmentManager().beginTransaction(); 
fragmentTransaction.replace(R.id.phone_container, myDetailFragment); 

/* 
* Add this transaction to the back stack. 
* This means that the transaction will be remembered after it is 
* committed, and will reverse its operation when later popped off 
* the stack. 
*/ 
fragmentTransaction.addToBackStack(null); 

fragmentTransaction.commit(); 
+0

может предоставить код фрагмента plz – bala

+0

@bala отредактировал ответ , см. его – slenderm4n

+0

ok..также меня тоже отредактировал мой код ... PLS см. его – bala

0

Фрагменты не прослушиваются при нажатии на спину. Обычная модель, которую я видел, взаимодействует с менеджером фрагментов от активности до поп-фрагментов, когда нажимается нажатая кнопка ... см. Код ниже!

@Override 
public void onBackPressed() { 

final FragmentManager fragmentManager = getFragmentManager(); 
final int count = fm.getBackStackEntryCount(); 

if (count == 0) { 
    super.onBackPressed(); 
} else { 
    fm.popBackStack(); 
} 
} 
+0

извините. это не помогло мне – bala

+0

Для этого необходимо выполнить операции фрагментов, которые нужно добавить в стопку. – fergdev

+0

, пожалуйста, можете ли вы сказать, как это сделать? – bala

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