空对象引用上的 android.content.Context.getPackageName()

Dan*_*nyi 1 java android nullpointerexception android-fragments android-activity

从片段转换到活动时出现此错误,如下所示:

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference         at android.content.ComponentName.<init>(ComponentName.java:130)         at android.content.Intent.<init>(Intent.java:6108)
Run Code Online (Sandbox Code Playgroud)

下面是我进入下一个活动的代码,错误发生在下面代码的第一行。

  Intent mainIntent = new Intent (getContext(), MainActivity.class);
            mainIntent.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
            startActivity (mainIntent);
Run Code Online (Sandbox Code Playgroud)

目前我在网上还没有看到任何解决方案。

Zai*_*ain 5

看来你得到了错误的上下文,导致了这个问题NullPointerException

尝试替换以下行:

Intent mainIntent = new Intent (getContext(), MainActivity.class);
Run Code Online (Sandbox Code Playgroud)

与: >> 如果您正在参加活动

Intent mainIntent = new Intent (this, MainActivity.class);
Run Code Online (Sandbox Code Playgroud)

与: >> 如果您位于活动内的回调侦听器中

Intent mainIntent = new Intent (MyActivityName.this, MainActivity.class);     
Run Code Online (Sandbox Code Playgroud)

与:>>如果你在一个片段内

Intent mainIntent = new Intent (requireActivity(), MainActivity.class);
Run Code Online (Sandbox Code Playgroud)