2014-12-14 3 views
-1

내비게이션 서랍을 사용하는 간단한 앱을 만들었으므로 뒤로 버튼이 작동하는 방식이 마음에 들지 않습니다. 서랍에서 조각을 열고 다시 단추를 누르면 응용 프로그램이 닫힙니다. 탐색 단추를 표시 할 때 뒤로 단추를 눌러도됩니다 (Zedge 응용 프로그램 에서처럼).onBackPressed 디스플레이 내비게이션 창 패널

MainActivity :

당신은 당신이 그것을 커밋하기 전에, .commit (전에이 코드를 추가)하고 다시 시도 가기 backstack에 조각을 추가 할 필요가
private void displayView(int position) { 
     // update the main content by replacing fragments 
     Fragment fragment = null; 

     switch (position) { 
      case 0: 
       fragment = new HomeFragment(); 
       break; 
      case 1: 
       fragment = new Audi(); 
       break; 
      case 2: 
       fragment = new BMW(); 
       break; 
      case 3: 
       fragment = new Volkswagen(); 
       break; 
      case 4: 
       fragment = new Kia(); 
       break; 
      case 5: 
       fragment = new Volvo(); 
       break; 

      default: 
       break; 
     } 

     if (fragment != null) { 
      FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); 
      ft.replace(R.id.frame_container, fragment).commit(); 

      mDrawerList.setItemChecked(position, true); 
      mDrawerList.setSelection(position); 
      setTitle(navMenuTitles[position]); 
      mDrawerLayout.closeDrawer(mDrawerList); 

     } else { 
      // error in creating fragment 
      Log.e("MainActivity", "Error in creating fragment"); 
     } 
    } 

    @Override 
    public void onBackPressed() { 
     if (mDrawerLayout.isDrawerOpen(Gravity.START)) { 
      mDrawerLayout.closeDrawer(Gravity.START); 
     } else { 
      super.onBackPressed(); 
     } 
    } 

답변

0

;

.addToBackStack() 
+0

'.addToBackStack (null)'을 추가했는데 작동합니다. – Alec

관련 문제