![](/img/trans.png)
[英]Timepicker seems to crash My App on Samsung Devices With Android Version 6.0.1
[英]Why Is TimePicker Dialog Blank On Samsung Marshmallow 6.0.1?
在Nexus 4上的Lollipop 5.1.1和模擬器上的Marshmallow 6.0.1上, TimePickerDialog
出現在我的應用程序中,如下所示:
但是,在運行Marshmallow 6.0.1的Samsung S6 Edge上,它出現如下:
完全空白。
TimePickerDialog
初始化如下:
Calendar calendar = Calendar.getInstance();
Dialog timeDialog = new TimePickerDialog(androidContext, this, calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), true);
timeDialog.setTitle("Set Appointment Time");
timeDialog.show();
我不知道為什么發生這種情況,但我已經通過使用cirit提供的解決方案解決此問題的工作在這里 。 他正在解決另一個問題,但它也解決了這個問題。
cirit提供的解決方案是將TimePicker小部件放入AlertDialog。 我對他/她的解決方案的實現如下所示:
private void showTimePicker() {
// This is implemented using an AlertDialog and a TimePicker instead of a TimePickerDialog
// because the TimePickerDialog implementation on Samsung does not work.
final Calendar c = Calendar.getInstance();
c.setTimeInMillis(getInternalTimestamp());
final TimePicker timePicker = new TimePicker(mContext);
timePicker.setIs24HourView(DateFormat.is24HourFormat(mContext));
timePicker.setCurrentHour(c.get(Calendar.HOUR_OF_DAY));
timePicker.setCurrentMinute(c.get(Calendar.MINUTE));
final AlertDialog timePickerDialog = new AlertDialog.Builder(mContext)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// user clicked OK - store the result, perhaps by using a callback:
// myCallback.onTimeSet(timePicker, timePicker.getHour(), timePicker.getMinute();
}
})
.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
})
.setView(timePicker).show();
}
不漂亮,但它有效(對我而言)並不像我擔心的那樣難看。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.