2015-05-25 103 views
0

我有這樣的代碼。我想當抽屜沒有打開時,按下後退按鈕後,應用程序將關閉。該怎麼辦 ?無法按後退按鈕</p> <pre><code>@Override public void onBackPressed() { if (drawerLayout.isShown()) { drawerLayout.closeDrawers(); } else super.onBackPressed(); } </code></pre> <p>如果抽屜是打開的,那麼presing後退按鈕抽屜關閉,但再次按下後退按鈕的應用程序不打烊期間關閉抽屜

+0

@Mithun然後有什麼用if的條件? –

回答

1

使用drawerLayout.isDrawerOpen()而不是isShown(),在這種情況下將始終返回true。這將導致if語句的else部分永遠不會被執行。

+0

與isDrawerOpen()你打開我的眼睛;) – Abhijit

2

isShown()方法是View類的成員,並且涉及可見性。您可能需要其中一個DrawerLayout#isDrawerOpen()方法。

+0

與isDrawerOpen()你打開我的眼睛也;; – Abhijit

0

isShown()總是返回true。 也使用下列字段。

mDrawerLayout.setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS); 
相關問題