Передача сегодняшней даты в переменную EditText при нажатии кнопки в диалоговом окне - PullRequest
0 голосов
/ 08 мая 2018

Я пытаюсь передать текущую дату (которая фиксируется при нажатии кнопки USE DATE) в переменную EditText, которая будет отображаться в качестве входных данных. У меня есть следующий код:

btnOK.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                // Create New Bowler
                Series newSeries = new Series();

                // Set Variables To Match User Entry On The Form
                newSeries.setTitle(editTitle.getText().toString());

                // Apply Date As Series Name
                SimpleDateFormat TodaysDate = new SimpleDateFormat("d-MM-yyyy", Locale.ENGLISH);
                EditText.setText(R.id.editTitleSeries+TodaysDate.toString());

                // Reference To BowlerActivity
                SeriesActivity callingActivity = (SeriesActivity) getActivity();

                // Pass Bowler Back To BowlersActivity
                callingActivity.createNewSeries(newSeries);

                // Quit the dialog
                dismiss();
            }
        });

Однако я получаю следующую ошибку в .setText; ошибка: на нестатический метод setText (CharSequence) нельзя ссылаться из статического контекста. Я понимаю ошибку, но мне не удалось решить, почему я получаю это. Также я не верю, что способ, которым я пытаюсь получить дату, является правильным.

Любая помощь очень ценится.

1 Ответ

0 голосов
/ 08 мая 2018

Если вы хотите отформатировать дату, сделайте это:

private String getDateNow() {
    Calendar cal = Calendar.getInstance();
    SimpleDateFormat sdf = new SimpleDateFormat("d-MM-yyyy", Locale.ENGLISH);
    return sdf.format(cal.getTime());
}

Теперь вы можете установить значение даты следующим образом:

String dateNow = getDateNow();
myEditText.setText(dateNow);

Кстати: я абсолютно не знаю, что вы хотите достичь с этим:

?? EditText.setText(R.id.editTitleSeries+TodaysDate.toString()); ??

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

EDIT

КСТАТИ: В вашем коде "TodaysDate" - это объект SimpleDateFormat, а не Date.

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