It is my XML file named create_event.xml
<!-- Start Date -->
<LinearLayout
style="@style/create_event_exc_margin_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
style="@style/create_event_exc_infotext_bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/start_date" />
</LinearLayout>
<LinearLayout
style="@style/create_event_exc_margin_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<EditText
style="@style/create_event_infotext_normal"
android:textColor="@android:color/black"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/extra_desc"
android:id="@+id/start_date">
</EditText>
<Button
android:layout_height="wrap_content"
android:layout_weight="0"
android:id="@+id/btn_start_calender"
android:text="Calendar"
android:layout_width="100dp">
</Button>
</LinearLayout>
<!-- Start Time -->
<LinearLayout
style="@style/create_event_exc_margin_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
style="@style/create_event_exc_infotext_bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/start_time" />
</LinearLayout>
<LinearLayout
style="@style/create_event_exc_margin_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<EditText
style="@style/create_event_infotext_normal"
android:textColor="@android:color/black"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/extra_desc"
android:id="@+id/start_time">
</EditText>
<Button
android:layout_height="wrap_content"
android:layout_weight="0"
android:id="@+id/btn_start_timepicker"
android:text="Time Picker"
android:layout_width="100dp"></Button>
</LinearLayout>
<!-- End Date -->
<LinearLayout
style="@style/create_event_exc_margin_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
style="@style/create_event_exc_infotext_bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/end_date" />
</LinearLayout>
<LinearLayout
style="@style/create_event_exc_margin_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<EditText
style="@style/create_event_infotext_normal"
android:textColor="@android:color/black"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/extra_desc"
android:id="@+id/end_date">
</EditText>
<Button
android:layout_height="wrap_content"
android:layout_weight="0"
android:id="@+id/btn_end_calender"
android:text="Calendar"
android:layout_width="100dp">
</Button>
</LinearLayout>
<!-- End Time -->
<LinearLayout
style="@style/create_event_exc_margin_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
style="@style/create_event_exc_infotext_bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/end_time" />
</LinearLayout>
<LinearLayout
style="@style/create_event_exc_margin_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<EditText
style="@style/create_event_infotext_normal"
android:textColor="@android:color/black"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/extra_desc"
android:id="@+id/end_time">
</EditText>
<Button
android:layout_height="wrap_content"
android:layout_weight="0"
android:id="@+id/btn_end_timepicker"
android:text="Time Picker"
android:layout_width="100dp"></Button>
</LinearLayout>
Here, it is my java file
public class Create_Event extends SherlockFragment implements OnClickListener {
Button b_start_calender, b_end_calender, b_start_timepicker, b_end_timepicker;
EditText start_date, start_time, end_date, end_time;
private int start_year, start_month, start_day, start_hour, start_minute;
private int end_year, end_month, end_day, end_hour, end_minute;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
b_start_calender=(Button)rootView.findViewById(R.id.btn_start_calender);
b_start_timepicker=(Button)rootView.findViewById(R.id.btn_start_timepicker);
b_end_calender=(Button)rootView.findViewById(R.id.btn_end_calender);
b_end_timepicker=(Button)rootView.findViewById(R.id.btn_end_timepicker);
start_date=(EditText)rootView.findViewById(R.id.start_date);
start_time=(EditText)rootView.findViewById(R.id.start_time);
end_date=(EditText)rootView.findViewById(R.id.end_date);
end_time=(EditText)rootView.findViewById(R.id.end_time);
b_start_calender.setOnClickListener(this);
b_start_timepicker.setOnClickListener(this);
b_end_calender.setOnClickListener(this);
b_end_timepicker.setOnClickListener(this);
return rootView;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v==b_start_calender) {
final Calendar c=Calendar.getInstance();
start_year=c.get(Calendar.YEAR);
start_month=c.get(Calendar.MONTH);
start_day=c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
startDate = Calendar.getInstance();
startDate.set(Calendar.YEAR, year);
startDate.set(Calendar.MONTH, monthOfYear);
startDate.set(Calendar.DAY_OF_MONTH, dayOfMonth);
start_date.setText(dayOfMonth + "-"
+ (monthOfYear + 1) + "-" + year);
}
};
DatePickerDialog d = new DatePickerDialog(getActivity(),
mDateSetListener, start_year, start_month, start_day);
d.show();
}
if(v==b_start_timepicker) {
final Calendar c = Calendar.getInstance();
start_hour=c.get(Calendar.HOUR_OF_DAY);
start_minute=c.get(Calendar.MINUTE);
TimePickerDialog.OnTimeSetListener mTimeSetListner = new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
start_time.setText(hourOfDay + ":" + minute);
}
};
TimePickerDialog t=new TimePickerDialog(getActivity(), mTimeSetListner, start_hour, start_minute,false);
t.show();
}
if(v==b_end_calender) {
final Calendar c=Calendar.getInstance();
end_year=c.get(Calendar.YEAR);
end_month=c.get(Calendar.MONTH);
end_day=c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
Calendar newEndDate=Calendar.getInstance();
newEndDate.set(Calendar.YEAR, year);
newEndDate.set(Calendar.MONTH, monthOfYear);
newEndDate.set(Calendar.DAY_OF_MONTH, dayOfMonth);
if(newEndDate.before(startDate))
{
end_date.setText("Plz.. enter date after starting date..");
}
else
{
end_date.setText(dayOfMonth + "-"
+ (monthOfYear + 1) + "-" + year);
}
}
};
DatePickerDialog d = new DatePickerDialog(getActivity(),
mDateSetListener, end_year, end_month, end_day);
d.show();
}
if(v==b_end_timepicker) {
final Calendar c = Calendar.getInstance();
end_hour=c.get(Calendar.HOUR_OF_DAY);
end_minute=c.get(Calendar.MINUTE);
TimePickerDialog.OnTimeSetListener mTimeSetListner = new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
end_time.setText(hourOfDay + ":" + minute);
}
};
TimePickerDialog t=new TimePickerDialog(getActivity(), mTimeSetListner, end_hour, end_minute,false);
t.show();
}
}
Here, start date and end date can be set properly. End date can not be set before starting date. But, if we set ending date first and then starting date... In this case it is not working properly. How to handle this case??? I also need that starting and ending date can't be same and user can not be able select date before today's date... Where to put condition?? How can I do this?? Please Help...