приложение вылетает после нажатия положительной кнопки в диалоге оповещения - PullRequest
0 голосов
/ 24 марта 2019

всякий раз, когда я нажимаю положительную кнопку диалогового окна с предупреждением, просто записывая тост, он работает нормально, и тост отображается, но если я выполняю какое-либо действие с положительной кнопкой, действие выполняется, но в то же время мое приложение также падает.

  • В моем приложении, в основном, после нажатия положительной кнопки, оно должно отправлять ссылку забытого пароля на соответствующий почтовый идентификатор.
  • код работает нормально для отправки ссылки забытого пароля.
  • всякий раз, когда я нажимаю положительную кнопку диалогового окна с предупреждением, я могу получить ссылку в своем письме, но я не знаю, почему происходит сбой моего приложения сразу после нажатия положительной кнопки диалогового окна с предупреждением

disire: - Я просто хочу, чтобы мое приложение работало плавно, то есть после нажатия положительной кнопки должно отображаться необходимое всплывающее сообщение и просто закрывалось диалоговое окно с предупреждением, выполнив требуемое действие.

ниже приведена ошибка, отображаемая в logcat.

    java.lang.RuntimeException: Performing stop of activity that is not resumed:
 {com.android.launcher3/com.android.launcher2.Launcher}

фрагмент кода выглядит следующим образом.

sendingPassword=FirebaseAuth.getInstance();

    AlertDialog.Builder builder=new AlertDialog.Builder(getActivity());
    LayoutInflater inflater=getActivity().getLayoutInflater();
    final View view=inflater.inflate(R.layout.dialogue_layout,null);

    builder.setView(view)
            .setTitle("forget password")
            .setNegativeButton("cancel", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {

                }
            })
            .setPositiveButton("send", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    forgetEmail=view.findViewById(R.id.forgetpasswordarea);

                    sendingPassword.sendPasswordResetEmail(forgetEmail.getText().toString().trim())
                            .addOnCompleteListener(new OnCompleteListener<Void>() {
                        @Override
                        public void onComplete(@NonNull Task<Void> task) {

                            if(task.isSuccessful())
                            {
                                Toast.makeText(getActivity(),"check your email for link",Toast.LENGTH_LONG).show();
                            }
                            else
                            {
                                Toast.makeText(getActivity(),task.getException().getMessage(),Toast.LENGTH_LONG).show();
                            }
                        }
                    });

                }

            });


    return builder.create();
}
...