В приложении используется кнопка с отображением текущей даты, при нажатии на которую появляется спиннер выбора произвольной даты. После выбора даты кнопка отображает выбранную дату.
Имеется метод слушателя
private void initDatePicker()
{
DatePickerDialog.OnDateSetListener dateSetListener = new DatePickerDialog.OnDateSetListener()
{
@Override
public void onDateSet(DatePicker datePicker, int year, int month, int day)
{
month = month + 1;
date = makeDateString(day, month, year);
dateButton.setText(date); //<--- здесь кнопке передается дата сетом
}
/**А за пределами скобок выше даже публичные переменные, объявленные в текущем классе, которым присвоены данные из переменной date, являются пустыми.**/
};
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DAY_OF_MONTH);
int style = AlertDialog.THEME_HOLO_DARK;
datePickerDialog = new DatePickerDialog(this, style, dateSetListener, year, month, day);
}
Таким образом для меня этот вложенный метод стал "черной дырой" которая выпускает данные.
Мне не нужно их передавать в xml вид, иначе я бы это сделал по образу с dateButton.setText(date);, мне нужно использовать полученную при выборе пользователем дату в этом же классе, но в других методах (функциях).
Как это можно сделать?
Спасибо