【问题标题】:Attempt to invoke virtual method 'android.view.Menu [duplicate]尝试调用虚拟方法'android.view.Menu [重复]
【发布时间】:2020-06-13 12:35:54
【问题描述】:

我在 MainActivity.java 中没有这段代码,我在一个名为 Login.java 的代码中

我在 Logcat 中有这个错误:

java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Menu
com.google.android.material.navigation.NavigationView.getMenu()' on a null object reference
    at com.store.Credenciales.Login.addMenuItemLogOut(Login.java:93)

我在 Login.java:93 中的代码是这个函数:

private void addMenuItemLogOut(){
    NavigationView navigationView= (NavigationView) findViewById(nav_view);
    Menu menu = navigationView.getMenu(); //Line 93
    menu.findItem(R.id.nav_signin).setVisible(false);
    menu.findItem(R.id.nav_send).setVisible(true);
}

当用户输入正确的用户名和密码时,命令使功能更高

if(isLogin){
    addMenuItemLogOut(); //Here
    Intent intent = new Intent(getApplicationContext(), MainActivity.class);
    Bundle bundle =  new Bundle();
    bundle.putString("user_id", userd);
    intent.putExtras(bundle);
    startActivity(intent);
}

【问题讨论】:

  • @0X0nosugar 是

标签: java android android-studio nullpointerexception android-navigationview


【解决方案1】:

NullPointerException 在应用程序尝试使用具有 null 值的对象引用时抛出。

您应该使用 getHeaderView (int index) 而不是 getMenu()

获取指定位置的标题视图。

试试

 NavigationView navigationView       = findViewById(R.id.nav_view);
 navigationView.setNavigationItemSelectedListener(this);
 View header         = navigationView.getHeaderView(0);
 navigationView.getMenu().findItem(R.id.nav_signin).setVisible(false);
 navigationView.getMenu().findItem(R.id.nav_send).setVisible(true);

【讨论】:

  • 现在我有了这个:java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View com.google.android.material.navigation.NavigationView.getHeaderView(int)' on a null对象引用
  • 你应该使用findViewById(R.id.your_id)。检查您的 id nav_view 是否存在于 xml 中?
  • 是的,存在于activity_main.xml中
  • 我在 MainActivity.java 中没有这个代码,我在一个名为 Login.java 的代码中
  • @snow915 你的NavigationView属于哪个Activity?
猜你喜欢
  • 2019-11-20
  • 2015-07-16
  • 1970-01-01
  • 2020-05-05
  • 2019-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
相关资源
最近更新 更多