11package it .ezzie .smartalarm ;
22
3+ import android .app .TimePickerDialog ;
34import android .content .Context ;
45import android .view .LayoutInflater ;
56import android .view .ViewGroup ;
7+ import android .widget .TimePicker ;
8+
69import androidx .annotation .NonNull ;
710import androidx .recyclerview .widget .RecyclerView ;
811
12+ import java .text .SimpleDateFormat ;
913import java .util .ArrayList ;
14+ import java .util .Calendar ;
1015import java .util .List ;
16+ import java .util .Locale ;
17+
1118import it .ezzie .smartalarm .Entity .AlarmEntity ;
1219import it .ezzie .smartalarm .databinding .AdapterAlarmBinding ;
1320
1421public class AlarmAdapter extends RecyclerView .Adapter <AlarmAdapter .AlarmViewHolder > {
1522 private Context context ;
1623 private List <AlarmEntity > alarmList ;
24+ private Calendar calendar = Calendar .getInstance ();
1725
1826 public AlarmAdapter (Context context , List <AlarmEntity > alarmList ){
1927 this .context = context ;
@@ -38,7 +46,22 @@ public AlarmViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewTyp
3846 @ Override
3947 public void onBindViewHolder (@ NonNull AlarmViewHolder holder , int position ) {
4048 var alarm = alarmList .get (position );
41- holder .binding .alarmTime .setText (alarm .getAlarmTime ());
49+ //InitTimePick
50+ holder .binding .alarmTime .setOnClickListener (v -> {
51+ TimePickerDialog .OnTimeSetListener timepick = new TimePickerDialog .OnTimeSetListener () {
52+ @ Override
53+ public void onTimeSet (TimePicker view , int hourOfDay , int minute ) {
54+ calendar .set (Calendar .HOUR_OF_DAY ,hourOfDay );
55+ calendar .set (Calendar .MINUTE ,minute );
56+ var formattedTime = new SimpleDateFormat ("HH:mm" ).format (calendar .getTime ());
57+ var formattedUnit = new SimpleDateFormat ("aa" ).format (calendar .getTime ());
58+ holder .binding .alarmTime .setText (formattedTime );
59+ holder .binding .alarmUnit .setText (formattedUnit );
60+ }
61+ };
62+ new TimePickerDialog (context ,timepick , calendar .get (Calendar .HOUR_OF_DAY ),calendar .get (Calendar .MINUTE ),false ).show ();
63+
64+ });
4265 holder .binding .alarmLabel .setText (alarm .getAlarmLabel ());
4366 }
4467
0 commit comments