TimePickerDialog consente all’ utente di selezionare un orario specifico.
In questo esempio andremo a creare una finestra di dialogo, fornendo l’ oggetto di callback OnTimeSetListener per avvisare quando l’utente ha scelto una nuova ora:
activity_main.xml
<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout
xmlns:android=”http://schemas.android.com/apk/res/android”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:gravity=”center”
android:orientation=”vertical”>
<TextView
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Time Picker Dialog”/>
<TimePicker
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:id=”@+id/timePicker”/>
<Button
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:id=”@+id/btn”/>
</LinearLayout>
MainActivity.java
package com.exsample.timePickerDialog.activities;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import com.exsample.timePickerDialog.R;
import android.widget.*;
import android.view.*;
import android.app.*;
import java.text.*;
import java.util.*;
public class MainActivity extends AppCompatActivity {
TimePicker timePicker;
int hour,minute;
static final int Dialog_Id=0;
Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
showDialog(Dialog_Id);
timePicker=findViewById(R.id.timePicker);
btn=findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
Toast.makeText(getBaseContext(),
“You have selected:”+ timePicker.getCurrentHour().
toString()+”:”+ timePicker.getCurrentMinute().toString(),
Toast.LENGTH_SHORT).show();
}
});
}
@Override
protected Dialog onCreateDialog(int id)
{
switch(id){
case Dialog_Id:
return new TimePickerDialog(
this,mTimeSetListener,hour,minute,false);
}
return null;
}
private TimePickerDialog.OnTimeSetListener mTimeSetListener=
new TimePickerDialog.OnTimeSetListener(){
public void onTimeSet(TimePicker view,
int mHour,int mMinute){
hour=mHour;
minute=mMinute;
Date date=new Date(0,0,0,hour,minute);
SimpleDateFormat dateFormat=new SimpleDateFormat(“hh:mm a”);
String stringDate=dateFormat.format(date);
Toast.makeText(getBaseContext(),
“You have selected:”+hour+”:”+ minute+stringDate ,
Toast.LENGTH_LONG).show();
}
};
}