2016-07-29 5 views
2

내 응용 프로그램에서 내비게이션 서랍을 사용했습니다. 사용자가 항목을 클릭하면 다른 활동으로 이동하지만 사용자가 서랍 페이지로 돌아 오면 아직 열려 있습니다. 해당 항목을 클릭하면 해당 서랍을 닫는 방법.내비게이션 서랍 닫기 해당 항목을 클릭 한 후

+0

인트로를 호출하기 전에 서랍을 닫습니다. 더 많은 도움을 받으려면 코드를 게시하십시오. –

+0

해결책을 게시했습니다. 그래도 해결되지 않으면 여기에 코드를 게시하십시오 –

+0

[항목을 누를 때 탐색 창을 닫는 방법?] (http://stackoverflow.com/questions/19194526/how-to-close-navigation-drawer) -wold-item-pressed-from-it) –

답변

1

closeDrawer() 방법을 사용하여 서랍을 닫고 서랍 수신기에서 다른 활동을 시작하십시오.

예를 들면.

@Override 
public void onDrawerClosed(View drawerView) { 
    super.onDrawerClosed(drawerView); 

    //Start your activity 
} 
1

당신은 다른 활동

0

내가 방금 탐색 항목의 클릭에 다른 시작하기 전에이 메소드를 호출 closeDrawer()를 놓쳤다 생각으로 이동하기 전에 NavigationDrawer를 닫 drawerLayout.closeDrawers();을 사용할 수 있습니다 Intent

drawerLayout.closeDrawer(GravityCompat.END); 
0
@SuppressWarnings("StatementWithEmptyBody") 
@Override 
public boolean onNavigationItemSelected(MenuItem item) { 
int id = item.getItemId(); 
    // Create a new fragment and specify the fragment to show based on nav item clicked 
    Fragment fragment = null; 
    Class fragmentClass = null; 
    if (id == R.id.nav_item1) { 
     fragmentClass = home.class; 
     // Handle the camera action 
    } 
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
    drawer.closeDrawer(GravityCompat.START); 
if(fragmentClass.newInstance() instanceof Fragment) { 
      fragment = (Fragment) fragmentClass.newInstance(); 

      if (fragmentClass.getSimpleName().equals("home")) { 

       // Insert the fragment by replacing any existing fragment 
       FragmentManager fragmentManager = getSupportFragmentManager(); 

       fragmentManager.beginTransaction().replace(R.id.home_layout, fragment).commit(); 
       // Highlight the selected item has been done by NavigationView 
       item.setChecked(true); 
       // Set action bar title 
       setTitle(item.getTitle()); 
       // Close the navigation drawer 
       drawer.closeDrawers(); 
      } 
     }