Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.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
Java 在实现接口时尝试对空对象引用调用接口方法_Java_Firebase_Android Studio - Fatal编程技术网

Java 在实现接口时尝试对空对象引用调用接口方法

Java 在实现接口时尝试对空对象引用调用接口方法,java,firebase,android-studio,Java,Firebase,Android Studio,以下是applyUpdate的实现: public class forgetPassword extends AppCompatDialogFragment { public ResetDialogListener listener; EditText emailToReset; final String tag="finalProject.bhaa"; String email =" "; @NonNull @Override pu

以下是applyUpdate的实现:


public class forgetPassword extends AppCompatDialogFragment {

    public ResetDialogListener listener;
    EditText emailToReset;
    final String tag="finalProject.bhaa";
    String email =" ";

    @NonNull
    @Override
    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        LayoutInflater inflater = getActivity().getLayoutInflater();
        View view = inflater.inflate(R.layout.forget_password, null);
        builder.setView(view)
                .setTitle("Reset Password")
                .setNegativeButton("cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                    }
                })
                .setPositiveButton("Reset", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Log.i(tag,"---"+email);
                        email=emailToReset.getText().toString().trim();
                        Log.i(tag,"---"+email);
                        try {
                            listener.applyUpdate(email);
                        }catch (Exception e){
                            e.printStackTrace();
                            Log.i(tag,e.getMessage());
                        }
                    }
                });
        emailToReset= view.findViewById(R.id.emailToReset);
        return builder.create();
    }
    public interface ResetDialogListener {
        void applyUpdate(String Email);
    }
}

@凌驾
public void applyUpdate(字符串电子邮件){
Log.i(标记为“yyyyyy”);
firebaseAuth.sendPasswordResetEmail(Email).addOnCompleteListener(新OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
Toast.makeText(MainActivity.this,“检查您的电子邮件…”,Toast.LENGTH\u SHORT);
}否则{
字符串err=task.getException().getMessage();
Toast.makeText(MainActivity.this,“出现错误:+err,Toast.LENGTH\u SHORT.show();
}
}
});
}
这将引发一个异常: listener.applyUpdate(电子邮件)

尝试在空对象引用上调用接口方法“void com.bha.finalproject.forgetPassword$ResetDialogListener.applyUpdate(java.lang.String)


我需要这个问题的帮助

请确保在附加时初始化
侦听器


    @Override
    public void applyUpdate(String Email) {
        Log.i(tag,"yyyyyyy");
        firebaseAuth.sendPasswordResetEmail(Email).addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                if (task.isSuccessful()){
                    Toast.makeText(MainActivity.this,"Check your email .. ",Toast.LENGTH_SHORT);
                }else {
                    String err=task.getException().getMessage();
                    Toast.makeText(MainActivity.this,"Error Occured: "+err,Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
@Override
public void onAttach(Context context) {
    super.onAttach(context);
    listner = (ResetDialogListener) context
}