从片段转换为活动时出现此错误,如下所示:
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)
下面是我转到下一个活动的代码,该错误发生在下面代码的第一行。
Intent mainIntent = new Intent (getContext(), MainActivity.class);
mainIntent.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity (mainIntent);
到目前为止,我没有在网上看到任何解决方案。
Fragment进行调用的,所以应在此处使用getActivity()而不是getContext()
Intent mainIntent = new Intent (getActivity(), MainActivity.class);
mainIntent.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity (mainIntent);
希望能对您有所帮助。
private Context context;
context.startActivity(new Intent(context, MainActivity.class));
NullPointerException
尝试替换以下行:
Intent mainIntent = new Intent (getContext(), MainActivity.class);
使用:>>,如果您在活动中
Intent mainIntent = new Intent (this, MainActivity.class);
with:>>,如果您位于活动中的回调侦听器中
Intent mainIntent = new Intent (MyActivityName.this, MainActivity.class);
使用:>>,如果您位于片段中
Intent mainIntent = new Intent (requireActivity(), MainActivity.class);