Я пишу приложение Android
, используя Navigation Drawer
. Я хочу изменить текущий fragment
при нажатии кнопки.Изменение фрагмента смены ящика программно
public void btnClick(){
...
changeFragment();
...
}
private void changeFragment() {
Fragment home = new Home();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.navigation_drawer, home);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.addToBackStack(null);
ft.commit();
}
Я получаю следующее сообщение об ошибке в LogCat
:
FATAL EXCEPTION: main
java.lang.UnsupportedOpetaionException: addView(View) is not supported in AdapterView
Home
Мой фрагмент загружается и отображается в самом начале, а после переезда в другой фрагмент и нажав кнопку Я хочу, чтобы автоматически вернуться к фрагменту Home
.
Как я могу это сделать?
EDIT: Полный журнал ошибок
06-28 21:19:26.262: E/AndroidRuntime(5023): FATAL EXCEPTION: main
06-28 21:19:26.262: E/AndroidRuntime(5023): Process: com.susu.appclient, PID: 5023
06-28 21:19:26.262: E/AndroidRuntime(5023): java.lang.UnsupportedOperationException: addView(View) is not supported in AdapterView
06-28 21:19:26.262: E/AndroidRuntime(5023): at android.widget.AdapterView.addView(AdapterView.java:461)
06-28 21:19:26.262: E/AndroidRuntime(5023): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:968)
06-28 21:19:26.262: E/AndroidRuntime(5023): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1136)
06-28 21:19:26.262: E/AndroidRuntime(5023): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
06-28 21:19:26.262: E/AndroidRuntime(5023): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1499)
06-28 21:19:26.262: E/AndroidRuntime(5023): at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:456)
06-28 21:19:26.262: E/AndroidRuntime(5023): at android.os.Handler.handleCallback(Handler.java:739)
06-28 21:19:26.262: E/AndroidRuntime(5023): at android.os.Handler.dispatchMessage(Handler.java:95)
06-28 21:19:26.262: E/AndroidRuntime(5023): at android.os.Looper.loop(Looper.java:135)
06-28 21:19:26.262: E/AndroidRuntime(5023): at android.app.ActivityThread.main(ActivityThread.java:5254)
06-28 21:19:26.262: E/AndroidRuntime(5023): at java.lang.reflect.Method.invoke(Native Method)
06-28 21:19:26.262: E/AndroidRuntime(5023): at java.lang.reflect.Method.invoke(Method.java:372)
06-28 21:19:26.262: E/AndroidRuntime(5023): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
06-28 21:19:26.262: E/AndroidRuntime(5023): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Где код, где вы использовали 'addView (View)'. – Pooja
Это код для изменения фрагмента. С 'changeFragment()' в качестве комментария приложение работает бегло. Но поскольку я хочу изменить фрагмент, я использую код, написанный выше, и мое приложение разбилось с ошибкой, о которой я упомянул в полном «LogCat», который я редактировал. – itaied