1

どういうわけか、このメソッドでヌルポインター例外を取得しています

@Override
protected void onPostCreate(Bundle savedInstanceState) {
    super.onPostCreate(savedInstanceState);
    actionBarToggle.syncState();
}

actionBarToggle.syncState()これにはヌルポインタ例外があります。

これをコメントアウトすると、アクションバーに触れてナビゲーションドロワーを開くと、ヌルポインター例外が発生します

    if (actionBarToggle.onOptionsItemSelected(item)) {
        return true;
    }
4

3 に答える 3

2

私は実際にこれを行っていた問題を発見しました

        actionBarToggle = new ActionBarDrawerToggle(this, drawerLayout,
            R.drawable.ic_drawer, R.string.drawerOpen, R.string.drawerClose) {
        public void onDrawerClosed(View view) {
            getSupportActionBar().setTitle("Close");
            ActivityCompat.invalidateOptionsMenu(activity);
        }

        public void onDrawerOpened(View main) {
            getSupportActionBar().setTitle("Open");
            ActivityCompat.invalidateOptionsMenu(activity);
        }
    };
    drawerLayout.setDrawerListener(actionBarToggle); 
    drawerLayout = (DrawerLayout) findViewById(R.id.navigationDrawer);//This should be    before actionBarToggle

したがって、actionBarToggle で使用した後に drawerLayout を詳細化していました。

于 2013-10-13T11:47:15.920 に答える
0

こちらの指示に従ってください。

http://developer.android.com/training/implementing-navigation/nav-drawer.html

actionBarToggle オブジェクトが null です。使用する前に、 を作成ActionBarDrawerToggleして変数に割り当てます。

于 2013-10-13T11:31:54.003 に答える