Чтобы показать TimePicker с помощью TimePickerDialog, вам необходимо создать фрагмент, расширив класс DialogFragment и реализовав метод onCreateDialog. В методе onCreateDialog вам необходимо создать экземпляр TimePickerDialog, установив текущее время, и вернуть его.
В действии, где вам нужно показать TimePicker, вам необходимо создать экземпляр фрагмента и показать его в ответ на пользовательское событие, например, нажатие кнопки .
import java.util.Calendar;
public class MyTimePickerFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
return new TimePickerDialog(getActivity(), timeSetListener, hour, minute,
DateFormat.is24HourFormat(getActivity()));
}
private TimePickerDialog.OnTimeSetListener timeSetListener =
new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Toast.makeText(getActivity(), "selected time is "
+ view.getHour() +
" / " + view.getMinute()
, Toast.LENGTH_SHORT).show();
}
};
}
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void showTimePickerDialog(View v) {
DialogFragment newFragment = new MyTimePickerFragment();
newFragment.show(getSupportFragmentManager(), "time picker");
}
}