開始時間と終了時間の編集テキストに2つの別の時間ピッカーがあります。終了時間を選択した後に開始時間を9:00:amと選択すると、開始時間よりも小さくなりません。終了時間は開始時間より長くする必要があります。いくつかの解決策を提案する。 Javaの7によって提供さDate
とCalendar
クラスがあるとして2つの時間ピッカー開始時間と終了時間を持つダイアログ
compile 'com.jakewharton.threetenabp:threetenabp:1.0.3'
:アプリ内任意の日付/時刻の操作を行っている場合
int hour=0;
int minute=0;
TimePickerDialog mTimePicker;
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mTimePicker = new TimePickerDialog(Jobcompletion.this, new TimePickerDialog.OnTimeSetListener() {
@SuppressLint("SetTextI18n")
@Override
public void onTimeSet(TimePicker timePicker, int hourOfDay, int selectedMinute) {
String AM_PM = " AM";
String mm_precede = "";
String hh_precede = "";
if (hourOfDay >= 12) {
AM_PM = " PM";
if (hourOfDay >= 13 && hourOfDay < 24) {
hourOfDay -= 12;
} else {
hourOfDay = 12;
}
} else if (hourOfDay == 0) {
hourOfDay = 12;
}
if (hourOfDay < 10) {
hh_precede = "0";
}
if (selectedMinute < 10) {
mm_precede = "0";
}
start.setText(hh_precede+hourOfDay + ":" +mm_precede + selectedMinute+ " " + AM_PM);
}
}, hour, minute, false); //12hour=false/true
mTimePicker.setTitle("Select StartTime");
mTimePicker.show();
}
});
end.setOnClickListener(new View.OnClickListener() {
/* Calendar mcurrentTime = Calendar.getInstance();
int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
int minute = mcurrentTime.get(Calendar.MINUTE);*/
@Override
public void onClick(View v) {
mTimePicker = new TimePickerDialog(Jobcompletion.this, new TimePickerDialog.OnTimeSetListener() {
@SuppressLint("SetTextI18n")
@Override
public void onTimeSet(TimePicker timePicker, int hourOfDay, int selectedMinute) {
String AM_PM = " AM";
String mm_precede = "";
String hh_precede = "";
if (hourOfDay >= 12) {
AM_PM = " PM";
if (hourOfDay >= 13 && hourOfDay < 24) {
hourOfDay -= 12;
} else {
hourOfDay = 12;
}
} else if (hourOfDay == 0) {
hourOfDay = 12;
}
if (hourOfDay < 10) {
hh_precede = "0";
}
if (selectedMinute < 10) {
mm_precede = "0";
}
end.setText(hh_precede + hourOfDay + ":" + mm_precede + selectedMinute + " " + AM_PM);
}
}, hour, minute, false);
Log.e("Min",String.valueOf(minute));
mTimePicker.setTitle("Select EndTime");
mTimePicker.show();
}
});
java.timeの代替としてジョダタイムを使用しての提案を除き、いくつかの貴重な質問 –