Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用片段中的按钮访问另一个活动_Android_Android Fragments - Fatal编程技术网

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);