【问题标题】:Why Is TimePicker Dialog Blank On Samsung Marshmallow 6.0.1?为什么三星棉花糖 6.0.1 上的 TimePicker 对话框为空白?
【发布时间】:2016-07-29 16:46:48
【问题描述】:

在 Nexus 4 上的 Lollipop 5.1.1 和模拟器上的 Marshmallow 6.0.1 上,TimePickerDialog 出现在我的应用程序中,如下所示:

但是,在运行 Marshmallow 6.0.1 的三星 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();

【问题讨论】:

  • 我也遇到了同样的问题。

标签: android android-6.0-marshmallow android-timepicker


【解决方案1】:

我不知道为什么会这样,但我已经通过使用 cirit here 提供的解决方案解决了这个问题。他正在解决一个不同的问题,但它也解决了这个问题。

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();
}

不漂亮,但它(对我来说)有效,而且没有我担心的那么丑。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-30
    • 2018-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多