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.this
和FragmentContainerActivity.this
,这两个都不能在此参数中使用
打开对话框后,我得到了这个
但它在示例程序中看起来像这样
如何使其与示例相同?
答案 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() {
...