validTillTime.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
KeyboardUtility.hideKeyboard(CreatePassActivityTwo.this);
if (event.getAction() == MotionEvent.ACTION_DOWN) {
TimePickerUtility.getTime(CreatePassActivityTwo.this).show();
validFrom = 0;
return false;
}
return true;
validTillTime является здесь EditText.
public class TimePickerUtility {
public static TimePickerDialog getTime(final Context context) {
Calendar calendar = Calendar.getInstance();
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
TimePickerDialog.OnTimeSetListener timeSetListener =
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
TimePickerListener timePickerListener = (TimePickerListener) context;
timePickerListener.onReceiveTime(hourOfDay, minute);
}
};
return new TimePickerDialog(context,
R.style.TimePickerTheme, timeSetListener, hour, minute, false);
}
public interface TimePickerListener {
void onReceiveTime(int hour, int minute);
}
внедрите TimePickerListener в свою деятельность.
@Override
public void onReceiveTime(int hour, int minute) {
if (validFrom == 1) {
validFromTime.setText(TimeFormatterUtility.getFormattedTime(hour, minute));
} else {
validTillTime.setText(TimeFormatterUtility.getFormattedTime(hour, minute));
}
}
<style name="TimePickerTheme" parent="Theme.AppCompat.Light.Dialog">
<item name="colorAccent">@color/buttonColor</item>
<item name="android:timePickerStyle">@style/TimePickerStyle</item>
</style>
<style name="TimePickerStyle" parent="@android:style/Widget.Material.Light.TimePicker">
<item name="android:headerBackground">@color/colorPrimary</item>
<item name="android:timePickerMode">spinner</item>
<item name="android:headerTimeTextAppearance">@color/colorPrimaryDark</item>
</style>