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