开发android小闹钟的程序时,在添加闹钟时闹钟列表中总是出现两个相同的闹钟。

 btnAddAlarm.setOnClickListener(new View.OnClickListener() {

             @Override
public void onClick(View v) {
if(tpd == null){
addAlarm();
} tpd.show();
}
});
private void addAlarm() { TimePickerDialog.OnTimeSetListener otsl = new OnTimeSetListener() { @Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Calendar setTime = Calendar.getInstance();
setTime.set(Calendar.HOUR_OF_DAY, hourOfDay);
setTime.set(Calendar.MINUTE, minute);
setTime.set(Calendar.SECOND,0);
setTime.set(Calendar.MILLISECOND, 0); Calendar currentTime = Calendar.getInstance(); if (setTime.getTimeInMillis() <= currentTime.getTimeInMillis()) {
setTime.setTimeInMillis(setTime.getTimeInMillis()+ 24 * 60 * 60 * 1000);
} adapter.add(new AlarmData(setTime.getTimeInMillis())); alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
setTime.getTimeInMillis(), 5 * 60 * 1000,
PendingIntent.getBroadcast(getContext(),
new AlarmData(setTime.getTimeInMillis()).getId(),
new Intent(getContext(),
AlarmReceiver.class), 0)); saveAlarmList(); }
}; Calendar c = Calendar.getInstance();
int hourOfDay = c.get(Calendar.HOUR_OF_DAY);
int min = c.get(Calendar.MINUTE);
tpd = new TimePickerDialog(getContext(), otsl, hourOfDay, min, true);
}

刚开始以为是adapter的问题,于是在初始化函数中加了添加闹钟的代码,结果只有一个闹钟。最后确定是TimePickerDialog的问题,上网查找才知道这是android4.1和4.2的bug,需要重写TimePickerDialog中的onStop方法,把onStop()中super.onStop()注释掉就行了

 tpd = new TimePickerDialog(getContext(), otsl, hourOfDay, min, true){
@Override
protected void onStop() {
//super.onStop();
}
};

最新文章

  1. Pattern Recognition for Cell-free DNA - Github
  2. ListCtrl接受拖动文件
  3. 讲讲你不知道的 ARC (一)
  4. hibernate 打印sql和参数的配置
  5. ffmpeg学习笔记
  6. 3-Dom
  7. MySQL中变量的总结
  8. HDU2504-又见GCD-递归
  9. solaris启动过程详解
  10. Java进阶(十七)ArrayList与LinkedList的区别
  11. Sentinel 流程分析
  12. vs2005设置打开文件和保存文件编码
  13. Excel-VBA入门(1): 基础 / 变量 /for / if/ 调试
  14. 51 Nod 1240 莫比乌斯函数
  15. 单片机成长之路(51基础篇) - 002 STC单片机冷启动和复位有什么区别
  16. spring boot 之 spring task(定时任务)
  17. Caffe源码中caffe.proto文件分析
  18. HDU 1711Number Sequence【KMP模板题】
  19. 分享一个Panda C-60 维修心得
  20. docker使用web界面管理Registry

热门文章

  1. docker swarm+register-web+shipyard搭建
  2. HDU 4247 Pinball Game 3D(cdq 分治+树状数组+动态规划)
  3. HOJ 2139 Spiderman's workout(动态规划)
  4. poj1584 A round peg in a ground hole【计算几何】
  5. Spring - Bean Definition Bean定义 给容易提供元数据的3方法
  6. Linux下的pure-ftp的安装详解
  7. day08:软件系统的体系结构&Tomcat详解&Web应用&http协议
  8. (1.1)DML增强功能-CTE
  9. Openstack(三)Haproxy+Keepalived双机
  10. [py]类属性和实例属性