2017-07-31 69 views
0

因此,我的活動主頁中有一個抽屜佈局,它就像這樣。即使在更改應用程序後,抽屜佈局仍保持打開狀態

public void settingDrawer() { 
    if (drawer == null) { 
     drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
     drawer.setScrimColor(Color.TRANSPARENT); 
     ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); 
     drawer.addDrawerListener(toggle); 
     toggle.syncState(); 

     NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); 
     int width = getResources().getDisplayMetrics().widthPixels; 
     DrawerLayout.LayoutParams params = (android.support.v4.widget.DrawerLayout.LayoutParams) navigationView.getLayoutParams(); 
     params.width = width; 
     navigationView.setLayoutParams(params); 
    } 
} 

它工作得很好,但是當我改變活動,回來後(使用後退按鈕或home鍵)的抽屜佈局保持打開狀態,我試圖關閉它,當我使用startActivity()方法,但它只是不對。我認爲我犯了一個錯誤,但我不知道在哪裏。

+0

你期望什麼?你有沒有嘗試在'onResume'而不是'startActivity'中關閉它? –

+0

@MehranZamani對不起,如果我的期望沒有任何意義,我試圖把它放在onResume並沒有順利運行,但我想我得到了什麼問題的想法是 –

回答

0

當你要下一個活動,然後第一關抽屜這樣

drawer.closeDrawer(GravityCompat.START); 

所以上面的代碼將導航到下一個頁面之前關閉你的抽屜,當你回到活動,則抽屜已經被關閉。

+0

它導致滯後時,抽屜正在關閉。 –

相關問題