我正在使用android中的简单基本TimePickerDialog。当显示选择器时,有时会选择模拟模式,有时会选择数字模式。仅当它在基于不同操作系统和设备的某些设备中显示数字模式时,才会发生此问题。在某些设备中,并非全部都发生此问题。如果我移动数字模式的转盘,请单击“确定”设置时间,一切正常。但是当我写下时间并单击“确定”时,它没有设置时间。但是,如果我写下小时,然后选择分钟部分,则效果很好。我在Huawei Y7,API 24中。它是OS相关的问题还是设备?这是我的代码如下:-
new TimePickerDialog(context, listener, myCalendar
.get(Calendar.HOUR_OF_DAY), myCalendar.get(Calendar.MINUTE),
false).show();
答案 0 :(得分:1)
尝试此操作一旦您可以将其完全设置为时钟模式:
为旋转器模式添加android:timePickerMode = "1"
和
android:timePickerMode="2"
用于时钟模式。
像这样在TimePickerDialog的构造函数中使用此主题
<style name="DialogTheme" parent="Theme.AppCompat.Light.Dialog">
<item name="colorAccent">@color/colorPrimary</item>
<item name="colorControlNormal">@color/colorAccent</item>
<item name="android:timePickerMode">clock</item>
</style>
注意:android:timePickerMode
在API 21之后开始工作。
TimePickerDialog timePickerDialog = new TimePickerDialog(DateTimePickerDialogActivity.this, android.R.style.DialogTheme, onTimeSetListener, hour, minute, is24Hour);