如何使用TimePickerDialog?

时间:2015-09-29 09:38:47

标签: android android-timepicker

https://github.com/SheldonNeilson/Android-Alarm-Clock

我按照这个例子编写以下代码

TimePickerDialog timePickerDialog = new TimePickerDialog(getApplicationContext(), new TimePickerDialog.OnTimeSetListener() {

    @Override
    public void onTimeSet(TimePicker timePicker, int hours, int minutes) {
    }
}, 1, 1, true);
timePickerDialog.setTitle("title");
timePickerDialog.show();

但是这个应用程序会崩溃,除非我使用MyActivity.this而不是getApplicationContext()

总是使用getApplicationContext()来替换XXXX.this,这没关系,但为什么这次不合适?

如何在不指定当前活动名称的情况下使用TimePickerDialog?

因为我会在Fragment中使用它,所以我尝试了MyFragment.thisFragmentContainerActivity.this,这两个都不能在此参数中使用

打开对话框后,我得到了这个

dialog1

但它在示例程序中看起来像这样

dialog2

如何使其与示例相同?

2 个答案:

答案 0 :(得分:2)

此外观将取决于应用程序主题还会更改主题并进行检查。

你试试

android:theme="@android:style/Theme.Holo.Light" >

答案 1 :(得分:0)

为你的timeDialog设置主题:

TimePickerDialog timePickerDialog = new TimePickerDialog(getApplicationContext()
,R.style.mTimePickerStyle //your custom theme
,new TimePickerDialog.OnTimeSetListener() {
...