Blame view

footsafety/app/src/main/java/etelligens/com/foodsafety/utils/MonthYearPickerDialog.java 2.54 KB
f7a13682   “wangming”   项目初始化
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
  package etelligens.com.foodsafety.utils;
  
  import android.app.AlertDialog;
  import android.app.DatePickerDialog;
  import android.app.Dialog;
  import android.content.DialogInterface;
  import android.os.Bundle;
  
  import android.view.LayoutInflater;
  import android.view.View;
  import android.widget.NumberPicker;
  import android.widget.Toast;
  
  import androidx.fragment.app.DialogFragment;
  
  import java.util.Calendar;
  
  import etelligens.com.foodsafety.R;
  
  
  /**
   * Created by ankititjunkies on 20/03/18.
   */
  
  public class MonthYearPickerDialog extends DialogFragment {
  
      private static final int MAX_YEAR = 2099;
      private DatePickerDialog.OnDateSetListener listener;
  
      public void setListener(DatePickerDialog.OnDateSetListener listener) {
          this.listener = listener;
      }
  
      @Override
      public Dialog onCreateDialog(Bundle savedInstanceState) {
          AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
          // Get the layout inflater
          LayoutInflater inflater = getActivity().getLayoutInflater();
  
          Calendar cal = Calendar.getInstance();
  
          View dialog = inflater.inflate(R.layout.month_year_picker_dialog, null);
          final NumberPicker dayPicker = (NumberPicker) dialog.findViewById(R.id.picker_day);
          final NumberPicker monthPicker = (NumberPicker) dialog.findViewById(R.id.picker_month);
          final NumberPicker yearPicker = (NumberPicker) dialog.findViewById(R.id.picker_year);
  
  
          dayPicker.setMinValue(1);
          dayPicker.setMaxValue(31);
          dayPicker.setValue(cal.get(Calendar.DATE));
  
          monthPicker.setMinValue(1);
          monthPicker.setMaxValue(12);
          monthPicker.setValue(cal.get(Calendar.MONTH)+1);
  
          int year = cal.get(Calendar.YEAR);
          yearPicker.setMinValue(1900);
          yearPicker.setMaxValue(2100);
          yearPicker.setValue(year);
  
          builder.setView(dialog)
                  // Add action buttons
                  .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
                      @Override
                      public void onClick(DialogInterface dialog, int id) {
                          listener.onDateSet(null, yearPicker.getValue(), monthPicker.getValue(),dayPicker.getValue());
                      }
                  })
                  .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
                      public void onClick(DialogInterface dialog, int id) {
                          MonthYearPickerDialog.this.getDialog().cancel();
                      }
                  });
          return builder.create();
      }
  }