private void attachFragment(String fragment, boolean isNew) { Fragment fragmentToAttach = null; boolean fabVisible = false; switch (fragment) { case Constants.FRAGMENT_LIST: textToFind = ""; fragmentToAttach = NoteListFragment.newInstance(folderId); if (folderId != trashNavId) // Folder list fabVisible = true; if (folderId != trashNavId && folderId != myNotesNavId) setOnTitleClickListener(true); else setOnTitleClickListener(false); break; case Constants.FRAGMENT_NOTE: Log.e(TAG, "NOTE FRAGMENT"); setOnTitleClickListener(true); fragmentToAttach = NoteFragment.newInstance(isNew, noteId, folderId); break; case Constants.FRAGMENT_TRASH_NOTE: setOnTitleClickListener(false); fragmentToAttach = TrashNoteFragment.newInstance(noteId); break; case Constants.FRAGMENT_SEARCH: setOnTitleClickListener(false); fragmentToAttach = SearchFragment.newInstance(textToFind); getSupportActionBar().setTitle(R.string.search); break; } fragmentManager .beginTransaction() .replace(R.id.container, fragmentToAttach, fragment) .commitAllowingStateLoss(); if (fabVisible) fab.show(); else fab.hide(); }
@Override public void onNavigationDrawerItemSelected(int position) { // update the main content by replacing fragments FragmentManager fragmentManager = getSupportFragmentManager(); if (position == 0) { fragmentManager .beginTransaction() .replace(R.id.container, MainFragment.newInstance(position + 1)) .commit(); } else if (position == 1) { fragmentManager .beginTransaction() .replace(R.id.container, SearchFragment.newInstance(position + 1)) .commit(); } else if (position == 2) { fragmentManager .beginTransaction() .replace(R.id.container, EARFragment.newInstance(position + 1)) .commit(); } else if (position == 3) { startActivity(new Intent(this, MapFragment.class)); } // 2번째 + 처음 실행 후에는 1번째 }