0
我有兩個日期按鈕。這兩個按鈕包含一個字符串作爲文本。 如果有人點擊按鈕,日期選擇器會出現。在這個日期選擇器 我想檢查兩個按鈕是否包含相同的日期字符串。 如果是這樣,我想用兩個 時間選擇器出現兩個按鈕(在這兩個按鈕下面)。檢查按鈕中的textdates是否在onClickListener中相同
的問題是,該檢查,如果兩個日期相等的方法中,自動地在第一點擊按鈕之後開始。所以我必須點擊兩次按鈕來正確檢查日期是否相等。
這裏是我的代碼:
首先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);
}
}
,最後,類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();
}
};
}
你怎麼辭退或證實對話? – 2011-12-15 11:04:42
我想這是DatePickerDialog中的一個內置函數。 – nostradamus 2011-12-15 11:11:33