我正在尝试创建一个应用程序,其中有两个字段“fromDate”和“toDate”。约束是“fromDate”应该大于或等于当前日期,“toDate”应该大于或等于 fromDate。我希望使用此约束打开 DatePicker。任何人都可以帮助我如何实现这一目标。
我使用下面的代码来正确获取“fromDate”,
myCalendar = Calendar.getInstance();
year = myCalendar.get(Calendar.YEAR);
month = myCalendar.get(Calendar.MONTH);
day = myCalendar.get(Calendar.DAY_OF_MONTH);
date = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub
myCalendar.set(Calendar.YEAR, year);
myCalendar.set(Calendar.MONTH, monthOfYear);
myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
updateLabel();
}
};
fromDate_textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
datePickerDialog = new DatePickerDialog(
Sell_Product_Activity.this, date, myCalendar
.get(Calendar.YEAR), myCalendar
.get(Calendar.MONTH), myCalendar
.get(Calendar.DAY_OF_MONTH));
datePickerDialog.show();
datePickerDialog.getDatePicker().setMinDate(
System.currentTimeMillis() - 1000);
}
});
同样,任何人都可以帮助我如何从 fromDate_textView 获取日期并将“toDate”设置为大于或等于该日期。
最佳答案
使用下面的代码:
//onCreate
{
fromDate_textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
myCalendar = Calendar.getInstance();
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH);
day = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog dialog = new DatePickerDialog(Home.this,
mDateSetListener, year, month , day );
dialog.show();
}
});
}
private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int y, int m,
int d) {
year = y;
month = m+ 1;
day = d;
String date = new StringBuilder().append(day).append("-").append(month)
.append("-").append(year).append("").toString();
fromDate_textView.setText(date);
}
};
关于android - 在 DatePicker 中设置自定义日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32351261/