如何使用TimePickerDialog?

How to use TimePickerDialog?

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,本来可以的,为什么这次不行呢?

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

因为我会在Fragment中使用,我试了MyFragment.thisFragmentContainerActivity.this,都不能在这个参数中使用


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

但是在示例程序中是这样的

我怎样才能让它和例子一样?

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

你试试

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

为您的时间设置主题对话框:

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