Android 时间选择器显示两个时钟?
Android time picker shows two clocks?
我已经根据 android 开发文档实现了 Android 时间选择器,一切正常,但我遇到了一个奇怪的错误。我搜索了很多但没有找到任何东西,所以我在这里问。
这是我的时间选择器:
这是它的代码:
class TimePickerFragment extends DialogFragment
implements TimePickerDialog.OnTimeSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current time as the default values for the picker
final Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
// Create a new instance of TimePickerDialog and return it
return new TimePickerDialog(getActivity(), this, hour, minute,
DateFormat.is24HourFormat(getActivity()));
}
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// Do something with the time chosen by the user
if (hourOfDay < 10) {
startTime.setText("0" + Integer.toString(hourOfDay) + ":" + Integer.toString(minute));
} else if (minute < 10) {
startTime.setText(Integer.toString(hourOfDay) + ":0" + Integer.toString(minute));
} else if (hourOfDay < 10 && minute < 10) {
startTime.setText("0" + Integer.toString(hourOfDay) + ":0" + Integer.toString(minute));
} else if (minute == 0) {
startTime.setText(Integer.toString(hourOfDay) + ":00");
} else
startTime.setText(Integer.toString(hourOfDay) + ":" + Integer.toString(minute));
}
}
有人知道如何解决这个问题吗?
TimePickerDialog (Context context,
int themeResId,
TimePickerDialog.OnTimeSetListener listener,
int hourOfDay,
int minute,
boolean is24HourView)
is24HourView :这是 24 小时视图还是 AM/PM.
尝试将此参数设置为false,我想你会得到你想要的。
参考:https://developer.android.com/reference/android/app/TimePickerDialog.html
我在三星设备(在我的例子中是 Galaxy S5 和 S6)上遇到了同样的问题。我发现在此设备上,标题是由系统添加的,要隐藏该标题,您需要做的就是自行将其设置为 null。
TimePickerDialog dialog = new TimePickerDialog(getActivity(), this, hour, minute, false);
dialog.setTitle(null);
我已经根据 android 开发文档实现了 Android 时间选择器,一切正常,但我遇到了一个奇怪的错误。我搜索了很多但没有找到任何东西,所以我在这里问。
这是我的时间选择器:
这是它的代码:
class TimePickerFragment extends DialogFragment
implements TimePickerDialog.OnTimeSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current time as the default values for the picker
final Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
// Create a new instance of TimePickerDialog and return it
return new TimePickerDialog(getActivity(), this, hour, minute,
DateFormat.is24HourFormat(getActivity()));
}
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// Do something with the time chosen by the user
if (hourOfDay < 10) {
startTime.setText("0" + Integer.toString(hourOfDay) + ":" + Integer.toString(minute));
} else if (minute < 10) {
startTime.setText(Integer.toString(hourOfDay) + ":0" + Integer.toString(minute));
} else if (hourOfDay < 10 && minute < 10) {
startTime.setText("0" + Integer.toString(hourOfDay) + ":0" + Integer.toString(minute));
} else if (minute == 0) {
startTime.setText(Integer.toString(hourOfDay) + ":00");
} else
startTime.setText(Integer.toString(hourOfDay) + ":" + Integer.toString(minute));
}
}
有人知道如何解决这个问题吗?
TimePickerDialog (Context context,
int themeResId,
TimePickerDialog.OnTimeSetListener listener,
int hourOfDay,
int minute,
boolean is24HourView)
is24HourView :这是 24 小时视图还是 AM/PM.
尝试将此参数设置为false,我想你会得到你想要的。
参考:https://developer.android.com/reference/android/app/TimePickerDialog.html
我在三星设备(在我的例子中是 Galaxy S5 和 S6)上遇到了同样的问题。我发现在此设备上,标题是由系统添加的,要隐藏该标题,您需要做的就是自行将其设置为 null。
TimePickerDialog dialog = new TimePickerDialog(getActivity(), this, hour, minute, false);
dialog.setTitle(null);