-
Notifications
You must be signed in to change notification settings - Fork 20
/
DateRangePickerFragment.java
101 lines (79 loc) · 3.49 KB
/
DateRangePickerFragment.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
package com.lazaroyesid.daterangepicker.fragments;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TabHost;
import com.matdroid.daterangepicker.R;
/**
* A DialogFragment that show 2 date pickers.
* Yesid Lazaro @ingyesid
*
*/
public class DateRangePickerFragment extends DialogFragment implements View.OnClickListener{
private OnDateRangeSelectedListener onDateRangeSelectedListener;
private TabHost tabHost;
private DatePicker startDatePicker;
private DatePicker endDatePicker;
private Button butSetDateRange;
boolean is24HourMode;
public DateRangePickerFragment() {
// Required empty public constructor
}
public static DateRangePickerFragment newInstance(OnDateRangeSelectedListener callback, boolean is24HourMode) {
DateRangePickerFragment dateRangePickerFragment = new DateRangePickerFragment();
dateRangePickerFragment.initialize(callback, is24HourMode);
return dateRangePickerFragment;
}
public void initialize(OnDateRangeSelectedListener callback,
boolean is24HourMode) {
onDateRangeSelectedListener = callback;
this.is24HourMode = is24HourMode;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.date_range_picker, container, false);
getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);
tabHost = (TabHost) root.findViewById(R.id.tabHost);
butSetDateRange = (Button) root.findViewById(R.id.but_set_time_range);
startDatePicker = (DatePicker) root.findViewById(R.id.start_date_picker);
endDatePicker = (DatePicker) root.findViewById(R.id.end_date_picker);
butSetDateRange.setOnClickListener(this);
tabHost.findViewById(R.id.tabHost);
tabHost.setup();
TabHost.TabSpec startDatePage = tabHost.newTabSpec("start");
startDatePage.setContent(R.id.start_date_group);
startDatePage.setIndicator(getString(R.string.title_tab_start_date));
TabHost.TabSpec endDatePage = tabHost.newTabSpec("end");
endDatePage.setContent(R.id.end_date_group);
endDatePage.setIndicator(getString(R.string.ttile_tab_end_date));
tabHost.addTab(startDatePage);
tabHost.addTab(endDatePage);
return root;
}
@Override
public void onStart() {
super.onStart();
if (getDialog() == null)
return;
getDialog().getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT);
}
public void setOnDateRangeSelectedListener(OnDateRangeSelectedListener callback) {
this.onDateRangeSelectedListener = callback;
}
@Override
public void onClick(View v) {
dismiss();
onDateRangeSelectedListener.onDateRangeSelected(startDatePicker.getDayOfMonth(),startDatePicker.getMonth(),startDatePicker.getYear(),
endDatePicker.getDayOfMonth(),endDatePicker.getMonth(),endDatePicker.getYear());
}
public interface OnDateRangeSelectedListener {
void onDateRangeSelected(int startDay, int startMonth, int startYear, int endDay, int endMonth, int endYear);
}
}