У меня есть две кнопки даты.Эти две кнопки содержат строку в виде текста.Если кто-то нажимает на кнопку, появляется средство выбора даты.После этого выбора даты я хочу проверить, содержит ли две кнопки одну и ту же строку даты.Если это так, я хочу, чтобы две кнопки появились (под этими двумя кнопками) с двумя таймерами.


Проблема в том, что методкоторый проверяет, совпадают ли две даты, автоматически запускается сначала после нажатия кнопки.Поэтому мне нужно дважды нажать кнопку, чтобы правильно проверить, совпадают ли даты.
Вот мой код:
Сначала onClickListeners
startDate.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
DateDialog dateStart = new DateDialog(startDate, mYear, mMonth, mDay);
checkdates();
}
});
endDate.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
DateDialog dateEnd = new DateDialog(endDate, mYear, mMonth, mDay);
checkdates();
}
});
Во-вторых, метод checkdates:
private void checkdates() {
String firstdate = startDate.getText().toString();
String seconddate = endDate.getText().toString();
if (firstdate.equals(seconddate)) {
row1.setVisibility(View.VISIBLE);
row2.setVisibility(View.VISIBLE);
} else {
row1.setVisibility(View.INVISIBLE);
row2.setVisibility(View.INVISIBLE);
}
}
И наконец, Class DateDialog, который вызывается в onClickListener:
public class DateDialog {
private int mMonth;
private int mYear;
private int mDay;
private Button txtButton;
public DateDialog(Button b, int year, int month, int day){
txtButton = b;
onCreateDialog(year, month, day);
}
protected Dialog onCreateDialog(int year, int month, int day) {
DatePickerDialog dialog = new DatePickerDialog(NostradamusActivity2.parentcontext, mDateSetListener, year,
month, day);
dialog.show();
return null;
}
// updates the date we display in the TextView
private void updateDisplay() {
txtButton.setText(new StringBuilder()
// Month is 0 based so add 1
.append(mYear).append("-").append(mMonth + 1).append("-")
.append(mDay).append(""));
}
private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
mYear = year;
mMonth = monthOfYear;
mDay = dayOfMonth;
updateDisplay();
}
};
}