0

我正在使用底部导航菜单,每次itemMenu我调用一个函数来打开正确的活动:

//In the  activty "A" where there's the bottom nav bar:

HelpActivity help = new HelpActivity();

                case R.id.navigation_home:
                help.openHomeActivity();

在里面HelpActivity

public void openHomeActivity(){

    Intent i = new Intent(getApplicationContext(), HomeActivity.class);
    startActivity(i);
}

应用程序崩溃了,请问如何解决?

错误

java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法 'android.content.Context android.content.Context.getApplicationContext()'

4

1 回答 1

2
HelpActivity help = new HelpActivity();

永远不要自己创建活动的实例。

修改openHomeActivity()为:

public void openHomeActivity(Context context){

    Intent i = new Intent(context, HomeActivity.class);
    startActivity(i);
}

然后,当您调用它时,传入一个已经存在的Context,例如Activity具有底部导航视图的 。

于 2018-05-01T13:34:38.143 回答