ClassCastException:MainActivity 无法转换为接口 (NetworkCallback)

ClassCastException:MainActivity cannot be cast to Interface(NetworkCallback)

我的应用程序在尝试调用 RegisterApi 和 LoginApi 时崩溃 类。

btnDismiss.setOnClickListener(new Button.OnClickListener(){

        @Override
        public void onClick(View v) {
            Boolean isVerify = verify();
            if (isVerify == true) {
                checkConn();
                if ((isInternetPresent)) {
                    if (status == 1) {
                        if (rb_01.isChecked()) {
                            RegisterApi api=new RegisterApi(context,(NetworkCallback) context);
                            api.processRegister("android","12345",et_name.getText().toString(),
                                    et_email.getText().toString(),et_mob.getText().toString(),et_pass.getText().toString());
                            Utility.HideSoftKeyboard(activity);
                        } else {
                            showBlueAlert("Please accept the Terms And Conditions");
                        }

                    } else if (status == 0) {
                        LoginApi api=new LoginApi(context, (NetworkCallback) context);
                        api.processLogin("android","12345",et_email.getText().toString(),et_pass.getText().toString());
                        Utility.HideSoftKeyboard(activity);
                    }
                }
            }
        }});

Logcat

10-15 12:47:23.433 32762-32762/com.shopping.faantush D/AndroidRuntime: Shutting down VM 10-15 12:47:23.436 32762-32762/com.shopping.faantush E/AndroidRuntime: FATAL EXCEPTION: main Process: com.shopping.faantush, PID: 32762 java.lang.ClassCastException: com.shopping.faantush.MainActivity cannot be cast to com.shopping.faantush.callback.NetworkCallback at com.shopping.faantush.slidingmenuactivity.LoginPopUp.onClick(LoginPopUp.java:250) at android.view.View.performClick(View.java:5280) at android.view.View$PerformClick.run(View.java:21239) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:234) at android.app.ActivityThread.main(ActivityThread.java:5526) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

请帮我解决这个问题...谢谢...

如果您想在 fragment 和 activity 之间进行通信,您必须确保其父 activity 必须实现您在 Fragment 中创建的接口。

参考示例:http://simpledeveloper.com/how-to-communicate-between-fragments-and-activities/

您应该在 MainActivity 中实现 NetworkCallback 或以匿名方式传递引用 class。

以匿名方式传递引用 class

RegisterApi api=new RegisterApi(context,new NetworkCallback(){

//override your callback methods here

});

登录相同API

 LoginApi api=new LoginApi(context, new NetworkCallback(){

//override your callback methods here

});