Android 使用片段中的按钮访问另一个活动
//这是我收到的错误//Android 使用片段中的按钮访问另一个活动,android,android-fragments,Android,Android Fragments,//这是我收到的错误// E/AndroidRuntime:致命异常:主 进程:com.example.salart.applogin,PID:11946 java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“java.lang.String android.content.Context.getPackageName()” 位于android.content.ComponentName。(ComponentName.java:130) 位于android.
E/AndroidRuntime:致命异常:主
进程:com.example.salart.applogin,PID:11946
java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“java.lang.String android.content.Context.getPackageName()”
位于android.content.ComponentName。(ComponentName.java:130)
位于android.content.Intent.(Intent.java:6347)
在com.example.salart.applogin.OneFragment$2.onAuthStateChanged上(OneFragment.java:78)
访问com.google.firebase.auth.zzl.run(未知来源:3)
位于android.os.Handler.handleCallback(Handler.java:789)
位于android.os.Handler.dispatchMessage(Handler.java:98)
在com.google.android.gms.internal.firebase_auth.zzf.dispatchMessage(未知来源:6)
位于android.os.Looper.loop(Looper.java:164)
位于android.app.ActivityThread.main(ActivityThread.java:6944)
位于java.lang.reflect.Method.invoke(本机方法)
在com.android.internal.os.Zygote$MethodAndArgsCaller.run上(Zygote.java:327)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
从属于片段的适配器调用
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.salart.applogin, PID: 11946
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:6347)
at com.example.salart.applogin.OneFragment$2.onAuthStateChanged(OneFragment.java:78)
at com.google.firebase.auth.zzl.run(Unknown Source:3)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at com.google.android.gms.internal.firebase_auth.zzf.dispatchMessage(Unknown Source:6)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6944)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
holder.demoView.setOnClickListener(v -> { Intent intent = new Intent();
/*Gson gson = new Gson();
Type type = new TypeToken<List<SampleModel>>(){}.getType();
String data = gson.toJson(parsable, type);
intent.putExtra("chat_data", data);*/
//ignore the commented above code, else if only you want something like this to parse data to the called activity.
intent.setClass(v.getContext(), CallingActivity.class);
v.getContext().startActivity(intent);
});
注意v.getContext().startActivity(intent)这个从来没有让我失望过!!!因此,如果您通过单击调用活动,那么只需使用view.getContext.startActivity(intent)代码>尝试更换
Intent intent =new Intent(getActivity(), CallingActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK );
getActivity().startActivity(intent);
与
可能是getActivity()
的重复项返回null->片段
不再附加。请参考此链接:进行null检查并确保您的getActivity为null,如果为null,则将活动引用保留在onAttach(上下文上下文)中。您能否提供按钮OnClickListener的整个功能?
Intent intent =new Intent(getActivity(), CallingActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK );
getActivity().startActivity(intent);
startActivity(intent);
getActivity().startActivity(intent);