Он закрывается, потому что вы использовали:
drawer.closeDrawer(GravityCompat.START);
В методе onNavigationItemSelected()
, поэтому удаление этого поможет.
Также:
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
Определите этот метод внутри onCreate()
и сделайте его закрытым, добавив его выше onCreate()
, например, чтобы иметь полный доступ к Activity
:
private DrawerLayout drawer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
}
Это рекомендуемый способ определения таких виджетов внутриActivity
при создании Activity
.