42

アクションバーのないナビゲーション バーがあります (アクションバーは必要ありません)。ナビゲーションドロワーを開くことができるボタンがあるようにしようとしています。

DrawerLayout http://developer.android.com/reference/android/support/v4/widget/DrawerLayout.html#openDrawer(android.view.View)の openDrawer というメソッドがあることは知ってい ます

使い方がわかりませんでしたが、クリック時にボタンを作成してみました。このメソッドを実行します。

DrawerLayout mDrawerLayout = (DrawerLayout) getView().findViewById(R.id.drawer_layout);
mDrawerLayout.openDrawer(mDrawerLayout);

それをクリックすると、Java NullPointerException が発生します。誰にもアイデアはありますか?

編集: このコードはフラグメント内にあり、フラグメント外の引き出しレイアウトを参照しようとしています。デバッガーを使用しましたが、mDrawlerLayout が NULL であることを示しています。

何かアドバイス?

ありがとう!

4

7 に答える 7

39
drawerLayout.openDrawer(Gravity.START);
于 2014-12-18T19:43:10.553 に答える
0

Kotlin ソリューション
フラグメントから開きたい場合は、次を使用できます。

activity?.drawerLayout?.openDrawer(GravityCompat.START)

またはアクティビティ内で直接:

drawerLayout.openDrawer(GravityCompat.START)

注:
「?」に慣れていない場合は、kotlin のドキュメント (非常に短いので心配しないでください) から null 安全性について読むことを強くお勧めします: https://kotlinlang.org/docs/reference/null-safety. html

于 2020-01-27T15:46:16.813 に答える