Сбой диалога при вызове метода - PullRequest
0 голосов
/ 02 мая 2018

РЕДАКТИРОВАТЬ: Решено

Я боролся с этой проблемой в течение нескольких часов и не мог найти решение, которое бы сработало для меня.

Итак, мое приложение падает, когда я нажимаю кнопку Send. Firebase работает нормально, но когда я хочу отобразить всплывающее сообщение, приложение вылетает -> исключает то, что я хотел сделать с Activity, но все еще падает.

Итак, что я могу сделать, чтобы метод doSomeStuff вызывался правильно?

Это метод в упражнении Sign_In:

public void doSomeStuff() {
    active_user = "test";
}

Это AppCompatDialogFragment:

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(), R.style.Pop_Up_Theme);
    LayoutInflater inflater = getActivity().getLayoutInflater();
    view = inflater.inflate(R.layout.pop_up_dialog, null);

    firebaseAuth = FirebaseAuth.getInstance();

    Email = view.findViewById(R.id.EmailInput);

    Email.setText(Loading.email);
    builder.setView(view)
           .setCancelable(false)
           .setPositiveButton("Send", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(final DialogInterface dialogInterface, int i) {
                    String email = Email.getText().toString().trim();
                    firebaseAuth.sendPasswordResetEmail(email)
                                .addOnCompleteListener(new OnCompleteListener<Void>() {
                                    @Override
                                    public void onComplete(@NonNull Task<Void> task) {
                                        if (task.isSuccessful()) {
                                            Sign_In.doSomeStuff();
                                            dialogInterface.cancel();
                                        } else { 
                                            //Secret stuff ;)
                                        }
                                    }
                                });
                    }
            });

    return builder.create();
} 
...