Есть проблема с окном сообщения в Android - PullRequest
0 голосов
/ 10 апреля 2020

В этом коде я хочу, чтобы пользователь вводил дату для доступа к Firestore и удаления, но когда в строке showMessageInput () не открывает ее и не переходит на следующую строку, поэтому datePass имеет значение null и приложение sh.

DatePass является глобальной переменной

Кнопка удаления


public void Delete(){
        btDelete.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showMessageInput();   // this doesn't open
                db.document(datePass) // error here because datePass is null
                        (...)
    }

showMessage

public void showMessageInput(){
        Message message = new Message();
        message.show(getSupportFragmentManager(), "Message");
    }

    @Override
    public void Date(String date) {
        datePass = date;
    }

Класс Сообщение

    public class Message extends AppCompatDialogFragment {
    private EditText editDate;
    private DialogListener listener;
    @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.layout_message, null);

        (...)
                .setPositiveButton("Submit", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        String date = editDate.getText().toString();
                        listener.Date(date);
                    }
                });
        editDate = view.findViewById(R.id.editDate);
        return builder.create();
    }

    @Override
    public void onAttach(@NonNull Context context) {
        super.onAttach(context);
        try {
            listener = (DialogListener) context;
        } catch (ClassCastException e) {
            throw new ClassCastException(context.toString() + " must implement DialogListener.");
        }
    }

    public interface DialogListener{
        void Date(String date);
    }
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...