为了账号安全,请及时绑定邮箱和手机立即绑定

代码跟到new DatePicklerDialog提示我api level不够

由于前面包是自动导入的 Calendar导入时也有这个问题 百度了才解决是java.util的不是android的 然而这里自动导入的是android.app.DatePickerDialog 请问还是导入错误了嘛…要改成什么…还是如度娘所述要去manifest文件里手动设置api…后一个方法好像并没什么效果…跪求大神解救 不然后面跟不下去了…Otz

正在回答

1 回答

应该是你选择的构造方法不对。

DatePickerDialog (Context context)
DatePickerDialog (Context context, 
                int themeResId)

这两个是API 24加入的。

DatePickerDialog (Context context, 
                DatePickerDialog.OnDateSetListener listener, 
                int year, 
                int month, 
                int dayOfMonth)
DatePickerDialog (Context context, 
                int themeResId, 
                DatePickerDialog.OnDateSetListener listener, 
                int year, 
                int monthOfYear, 
                int dayOfMonth)

这两个是从API 1 开始就有的。

0 回复 有任何疑惑可以回复我~
#1

慕雪0428816 提问者

在new后面选择构造方法时只提示了DatePicker()和DatePicker.OnDateChangedListene两个,手动输入DatePicketDialog()也可以,但是鼠标放在()内提示cannot resolve constructor 'DatePickerdDialog()' 前面的步骤都有好好跟老师的写法敲下来
2017-06-23 回复 有任何疑惑可以回复我~
#2

慕雪0428816 提问者

哦对了我的import是android.app.DatePickerDialog 需要修改否
2017-06-23 回复 有任何疑惑可以回复我~
#3

Neko_Aria 回复 慕雪0428816 提问者

导入的包是没错的。 cannot resolve constructor 'DatePickerdDialog()'可能是你字母打错了? 应该是new DatePickerDialog()。
2017-06-23 回复 有任何疑惑可以回复我~
#4

Neko_Aria 回复 慕雪0428816 提问者

DatePickerDialog (Context context, DatePickerDialog.OnDateSetListener listener, int year, int month, int dayOfMonth)
2017-06-23 回复 有任何疑惑可以回复我~
#5

Neko_Aria 回复 Neko_Aria

实际上视频里的构造方法就是这个,5个参数的。
2017-06-23 回复 有任何疑惑可以回复我~
#6

慕雪0428816 提问者 回复 Neko_Aria

谢谢啦 我把this改成getapplicationcontext()就通过啦 莫非跟什么的版本有关系?
2017-06-24 回复 有任何疑惑可以回复我~
#7

Neko_Aria 回复 慕雪0428816 提问者

这里要改成*Activity(你当前这个Activity的类名).this。 这里涉及到一个生命周期的问题,this.getApplicationContext()取的是这个应用程序的Context,Activity.this取的是这个Activity的Context,这两者的生命周期是不同的,前者的生命周期是整个应用,后者的生命周期只是它所在的Activity。
2017-06-24 回复 有任何疑惑可以回复我~
#8

Neko_Aria 回复 慕雪0428816 提问者

而DatePicklerDialog是属于一个Activity的,在Activity销毁的时候它也就销毁了,不会再存在;但是,如果传入this.getApplicationContext(),就表示它的生命周期是整个应用程序,这显然超过了它的生命周期了。所以,在这里我们只能使用Activity的this。
2017-06-24 回复 有任何疑惑可以回复我~
#9

Neko_Aria 回复 Neko_Aria

DatePickerDialog
2017-06-24 回复 有任何疑惑可以回复我~
#10

Neko_Aria 回复 Neko_Aria

直接new一个类,没有实例化对象。 (为什么慕课网不支持编辑回复啊。)
2017-06-24 回复 有任何疑惑可以回复我~
#11

慕雪0428816 提问者 回复 Neko_Aria

哇 非常感谢 我在修改后也发现了这个问题 需要改成对应activity的this才能成功启用另一点击事件 大神请受我一拜OTZ
2017-06-26 回复 有任何疑惑可以回复我~
查看9条回复

举报

0/150
提交
取消
Android攻城狮的第二门课(第1季)
  • 参与学习       111138    人
  • 解答问题       1560    个

本课程由浅入深地带您学会Android的常用控件的开发和使用

进入课程

代码跟到new DatePicklerDialog提示我api level不够

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号