我正在尝试为MainScreen活动设置我的Navigation Drawer侦听器。设置完所有内容后,尝试使用ActionBarDrawerToggle时,我的应用就会崩溃。还有其他实现方法吗?


  无法开始活动ComponentInfo{koeksworld.com.firstandroidproject/koeksworld.com.firstandroidproject.UserMainPanel}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v4.widget.DrawerLayout.setDrawerListener(android.support.v4.widget.DrawerLayout$DrawerListener)' on a null object reference


这是我活动中的一些代码:

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_user_main_panel);
    listener = new NavigationDrawerItemListener(this);
    Toolbar toolbar = (Toolbar) findViewById(R.id.groceryAppHomeToolbar);
    homeDrawer = (DrawerLayout) findViewById(R.id.mainDrawerLayout);
    homeListView = (ListView) findViewById(R.id.homeListView);
    homeListView.setBackgroundColor(getResources().getColor(R.color.colorBlue));
    navigationArray = getResources().getStringArray(R.array.navigationArray);
    navigationAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1,
            navigationArray);
    homeListView.setAdapter(navigationAdapter);
    homeListView.setOnItemClickListener(listener);
    //The suspected culprit
    drawerListener = new ActionBarDrawerToggle(this, homeDrawer, toolbar, R
            .string
            .open_drawer, R
            .string.close_Drawer);
    homeDrawer.setDrawerListener(drawerListener);
    drawerListener.syncState();
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

}

最佳答案

确保findViewById(R.id.mainDrawerLayout)和布局文件中的导航抽屉使用相同的ID。

调用mDrawerLayout时似乎.setDrawerListener()为空

07-28 02:03
查看更多