Android 私有导航视图后应用程序崩溃
当我尝试在那里添加菜单时,我的应用程序崩溃。 我想最有可能的是我的私有变量nnAndroid 私有导航视图后应用程序崩溃,android,android-studio,Android,Android Studio,当我尝试在那里添加菜单时,我的应用程序崩溃。 我想最有可能的是我的私有变量nn public class UserAreaActivity extends AppCompatActivity { private NavigationView nn; //is it wrong? 和onCreate nn = (NavigationView) findViewById(R.id.drawerLayout); nn.setNavigationItemSelectedListen
public class UserAreaActivity extends AppCompatActivity {
private NavigationView nn; //is it wrong?
和onCreate
nn = (NavigationView) findViewById(R.id.drawerLayout);
nn.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(final MenuItem menuItem) {
int id = menuItem.getItemId();
switch (id) {
case R.id.nav_upload:
Intent upIntent = new Intent(UserAreaActivity.this, Upload.class);
UserAreaActivity.this.startActivity(upIntent);
return true;
case R.id.nav_logout:
SharedPreferences pref = getApplicationContext().getSharedPreferences("pref01", MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.clear();
editor.apply();
Intent logIntent = new Intent(UserAreaActivity.this, LoginActivity.class);
UserAreaActivity.this.startActivity(logIntent);
default:
return true;
}
}
});
当我实现NavigationView时,我没有在类中声明为变量,只在onCreate方法中声明,然后将其设置为重要内容的侦听器,如显示菜单,如下所示:
NavigationView view = (NavigationView) findViewById(R.id.navigation_view);
view.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override public boolean onNavigationItemSelected(MenuItem menuItem) {
Snackbar.make(content, menuItem.getTitle() + " pressed", Snackbar.LENGTH_LONG).show();
menuItem.setChecked(true);
drawerLayout.closeDrawers();
return true;
}
});
我想你会发现这个链接很有用: