我的片段中有 2 个日期选择器对话框。单击按钮时会激活日期选择器。我有 2 个按钮 1 用于设置出发日期,另一个用于设置返回日期。单击离开按钮会弹出一个日期选择器对话框,单击返回按钮会弹出第二个日期选择器对话框。在出发日期选择器对话框中,当用户尝试选择小于今天日期的日期时,我需要禁用日期。在返回日期选择器对话框中,必须检查两个条件。第一个,如果用户尚未从出发日期选择器对话框中选择出发日期,则返回日期选择器对话框应将日期显示为当前日期。当用户尝试选择小于今天日期的日期时,我需要禁止用户这样做。第二,如果用户已使用出发日期选择器对话框设置出发日期,则返回日期选择器对话框应显示与出发日期相同的日期。当用户试图选择低于出发日期的日期时,他应该尝试停止它。我已经在我的姜饼及以下版本的应用程序中成功实现了所有这些。但问题是,当我尝试从蜂窝以上的版本中实现这一点时,应用程序被强制关闭。如何在日期选择器对话框中为蜂窝以上版本设置最小日期。此外,我的应用程序适用于从 froyo 到 kitkat 的所有版本,因此我将 min sdk 版本设置为 froyo 的版本。我需要一个代码,它应该适用于蜂窝上方和下方的两个版本。请帮帮我。这是我的代码。应显示与出发日期相同的日期。当用户试图选择低于出发日期的日期时,他应该尝试停止它。我已经在我的姜饼及以下版本的应用程序中成功实现了所有这些。但问题是,当我尝试从蜂窝以上的版本中实现这一点时,应用程序被强制关闭。如何在日期选择器对话框中为蜂窝以上版本设置最小日期。此外,我的应用程序适用于从 froyo 到 kitkat 的所有版本,因此我将 min sdk 版本设置为 froyo 的版本。我需要一个代码,它应该适用于蜂窝上方和下方的两个版本。请帮帮我。这是我的代码。应显示与出发日期相同的日期。当用户试图选择低于出发日期的日期时,他应该尝试停止它。我已经在我的姜饼及以下版本的应用程序中成功实现了所有这些。但问题是,当我尝试从蜂窝以上的版本中实现这一点时,应用程序被强制关闭。如何在日期选择器对话框中为蜂窝以上版本设置最小日期。此外,我的应用程序适用于从 froyo 到 kitkat 的所有版本,因此我将 min sdk 版本设置为 froyo 的版本。我需要一个代码,它应该适用于蜂窝上方和下方的两个版本。请帮帮我。这是我的代码。我已经在我的姜饼及以下版本的应用程序中成功实现了所有这些。但问题是,当我尝试从蜂窝以上的版本中实现这一点时,应用程序被强制关闭。如何在日期选择器对话框中为蜂窝以上版本设置最小日期。此外,我的应用程序适用于从 froyo 到 kitkat 的所有版本,因此我将 min sdk 版本设置为 froyo 的版本。我需要一个代码,它应该适用于蜂窝上方和下方的两个版本。请帮帮我。这是我的代码。我已经在我的姜饼及以下版本的应用程序中成功实现了所有这些。但问题是,当我尝试从蜂窝以上的版本中实现这一点时,应用程序被强制关闭。如何在日期选择器对话框中为蜂窝以上版本设置最小日期。此外,我的应用程序适用于从 froyo 到 kitkat 的所有版本,因此我将 min sdk 版本设置为 froyo 的版本。我需要一个代码,它应该适用于蜂窝上方和下方的两个版本。请帮帮我。这是我的代码。此外,我的应用程序适用于从 froyo 到 kitkat 的所有版本,因此我将 min sdk 版本设置为 froyo 的版本。我需要一个代码,它应该适用于蜂窝上方和下方的两个版本。请帮帮我。这是我的代码。此外,我的应用程序适用于从 froyo 到 kitkat 的所有版本,因此我将 min sdk 版本设置为 froyo 的版本。我需要一个代码,它应该适用于蜂窝上方和下方的两个版本。请帮帮我。这是我的代码。
private int year;
private int month;
private int day;
Boolean greaterthanhoneycomb=false;
int departureday,departuremonth,departureyear;
DatePickerDialog.OnDateSetListener datePickerListener,datepicker;
final Button departuredate=(Button)rootView.findViewById(R.id.button1);
departuredate.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
final Calendar c = Calendar.getInstance();
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH);
day = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog dialog = new DatePickerDialog(getActivity(), datePickerListener,
year, month,day){
@Override
public void onDateChanged(DatePicker view,
int year, int month, int day) {
// TODO Auto-generated method stub
final Calendar c = Calendar.getInstance();
int mYear = c.get(Calendar.YEAR);
int mMonth = c.get(Calendar.MONTH);
int mDay = c.get(Calendar.DAY_OF_MONTH);
//* this validation allow user to enter date less then current date *
if (year < mYear)
view.updateDate(mYear, mMonth, mDay);
if (month < mMonth && year == mYear)
view.updateDate(mYear, mMonth, mDay);
if (day < mDay && year == mYear && month == mMonth)
view.updateDate(mYear, mMonth, mDay);
super.onDateChanged(view, year, month, day);
}
};
dialog.show();
}
});
final Button returndate=(Button)rootView.findViewById(R.id.button2);
returndate.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(departureday==0)
{
final Calendar c = Calendar.getInstance();
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH);
day = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog dialog = new DatePickerDialog(getActivity(), datepicker, year, month, day){
@Override
public void onDateChanged(DatePicker view, int year,
int month, int day) {
// TODO Auto-generated method stub
final Calendar c = Calendar.getInstance();
int mYear = c.get(Calendar.YEAR);
int mMonth = c.get(Calendar.MONTH);
int mDay = c.get(Calendar.DAY_OF_MONTH);
//* this validation allow user to enter date less then current date *
if (year < mYear)
view.updateDate(mYear, mMonth, mDay);
if (month < mMonth && year == mYear)
view.updateDate(mYear, mMonth, mDay);
if (day < mDay && year == mYear && month == mMonth)
view.updateDate(mYear, mMonth, mDay);
super.onDateChanged(view, year, month, day);
}
};
dialog.show();
}
else
{
DatePickerDialog dialog = new DatePickerDialog(getActivity(), datepicker, departureyear, departuremonth, departureday){
@Override
public void onDateChanged(DatePicker view, int year,
int month, int day) {
// TODO Auto-generated method stub
int mYear =departureyear;
int mMonth = departuremonth;
int mDay = departureday;
//* this validation allow user to enter date less then current date *
if (year < mYear)
view.updateDate(mYear, mMonth, mDay);
if (month < mMonth && year == mYear)
view.updateDate(mYear, mMonth, mDay);
if (day < mDay && year == mYear && month == mMonth)
view.updateDate(mYear, mMonth, mDay);
super.onDateChanged(view, year, month, day);
}
};
dialog.show();
}
}
});
datepicker=new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub
String date=dayOfMonth+"-"+(monthOfYear+1)+"-"+year;
returndate.setText(" "+date);
}
};
datePickerListener
= new DatePickerDialog.OnDateSetListener() {
// when dialog box is closed, below method will be called.
public void onDateSet(DatePicker view, int selectedYear,
int selectedMonth, int selectedDay) {
//Do whatever you want
departureday=selectedDay;
departuremonth=selectedMonth;
departureyear=selectedYear;
String date=selectedDay+"-"+(selectedMonth+1)+"-"+selectedYear;
departuredate.setText(" "+date);
}
};