2121import com .example .yoga .sqliteexample .R ;
2222import com .wdullaer .materialdatetimepicker .date .DatePickerDialog ;
2323import com .wdullaer .materialdatetimepicker .date .DatePickerDialog .OnDateSetListener ;
24+ import com .wdullaer .materialdatetimepicker .time .TimePickerDialog ;
2425
26+ import java .text .SimpleDateFormat ;
2527import java .util .ArrayList ;
2628import java .util .Calendar ;
2729import java .util .Date ;
2830import java .util .GregorianCalendar ;
2931import java .util .List ;
32+ import java .util .Locale ;
3033
3134/**
3235 * Created by YOGA on 11/6/2016.
3336 */
34- public class AddBillFragment extends Fragment implements OnDateSetListener {
37+ public class AddBillFragment extends Fragment implements OnDateSetListener , TimePickerDialog . OnTimeSetListener {
3538 Spinner spinner_add_bill ;
36- Button button_add_bill_pickdate , button_add_bill_add ;
39+ Button button_add_bill_pickdate , button_add_bill_add , button_add_bill_picktime ;
3740 EditText editText_add_bill ;
38- private Date date = null ;
41+ private Date date = null , time = null ;
3942 List <Person > personList ;
4043 int payer_id = -1 ;
4144
42-
4345 public interface AddBillInterface {
4446 List <Person > getAllPeople ();
4547 long createBill (Bill bill );
@@ -71,6 +73,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
7173 final View myView = inflater .inflate (R .layout .fragment_add_bill , container , false );
7274 spinner_add_bill = (Spinner ) myView .findViewById (R .id .spinner_add_bill );
7375 button_add_bill_pickdate = (Button ) myView .findViewById (R .id .button_add_bill_pickdate );
76+ button_add_bill_picktime = (Button ) myView .findViewById (R .id .button_add_bill_picktime );
7477 button_add_bill_add = (Button ) myView .findViewById (R .id .button_add_bill_add );
7578 editText_add_bill = (EditText ) myView .findViewById (R .id .editText_add_bill );
7679
@@ -84,9 +87,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
8487
8588 // Create an ArrayAdapter using the string array and a default spinner layout
8689 ArrayAdapter <String > adapter = new ArrayAdapter <>(myView .getContext (), android .R .layout .simple_spinner_item , personStringList );
87- // Specify the layout to use when the list of choices appears
8890 adapter .setDropDownViewResource (android .R .layout .simple_spinner_dropdown_item );
89- // Apply the adapter to the spinner
9091 spinner_add_bill .setAdapter (adapter );
9192 spinner_add_bill .setOnItemSelectedListener (new OnItemSelectedListener () {
9293 @ Override
@@ -114,6 +115,21 @@ public void onClick(View v) {
114115 }
115116 });
116117
118+ button_add_bill_picktime .setOnClickListener (new View .OnClickListener () {
119+ @ Override
120+ public void onClick (View v ) {
121+ Calendar now = Calendar .getInstance ();
122+ TimePickerDialog tpd = TimePickerDialog .newInstance (
123+ AddBillFragment .this ,
124+ now .get (Calendar .HOUR_OF_DAY ),
125+ now .get (Calendar .MINUTE ),
126+ now .get (Calendar .SECOND ),
127+ true
128+ );
129+ tpd .show (getFragmentManager (), "Timepickerdialog" );
130+ }
131+ });
132+
117133 button_add_bill_add .setOnClickListener (new View .OnClickListener () {
118134 @ Override
119135 public void onClick (View v ) {
@@ -123,11 +139,14 @@ public void onClick(View v) {
123139 imm .hideSoftInputFromWindow (myView .getWindowToken (), 0 );
124140 }
125141
126- if (date == null || payer_id == -1 ) {
142+ if (date == null || time == null || payer_id == -1 || editText_add_bill . getText (). toString (). equals ( "" ) ) {
127143 Toast .makeText (myView .getContext (), "Please select date and payer." , Toast .LENGTH_SHORT ).show ();
128144 } else {
129145 Bill bill = new Bill ();
130146 bill .setPlace (editText_add_bill .getText ().toString ());
147+ date .setHours (time .getHours ());
148+ date .setMinutes (time .getMinutes ());
149+ date .setSeconds (time .getSeconds ());
131150 bill .setDate (date );
132151 bill .setPayer (payer_id );
133152 if (mListener .createBill (bill ) == -1 ) {
@@ -147,6 +166,15 @@ public void onClick(View v) {
147166 public void onDateSet (DatePickerDialog view , int year , int monthOfYear , int dayOfMonth ) {
148167 Calendar c = new GregorianCalendar (year , monthOfYear , dayOfMonth );
149168 date = c .getTime ();
150- button_add_bill_pickdate .setText (date .toString ());
169+ SimpleDateFormat dateFormat = new SimpleDateFormat ("yyyy-MM-dd" , Locale .getDefault ());
170+ button_add_bill_pickdate .setText (dateFormat .format (date ));
171+ }
172+
173+ @ Override
174+ public void onTimeSet (TimePickerDialog view , int hourOfDay , int minute , int second ) {
175+ Calendar c = new GregorianCalendar (0 , 0 , 0 , hourOfDay , minute , second );
176+ time = c .getTime ();
177+ SimpleDateFormat dateFormat = new SimpleDateFormat ("HH:mm" , Locale .getDefault ());
178+ button_add_bill_picktime .setText (dateFormat .format (time ));
151179 }
152180}
0 commit comments