adapter的数据源是什么,看看是不是初始时,里面就有数据了,这样在执行了addalarm后,又添加了一条

解决方案 »

  1.   

    不是的,我在onFinishInflate()里面初始化了一个闹钟
    Calendar cc = Calendar.getInstance();
    adapter.add(new AlarmData(cc.getTimeInMillis()));结果就出现一个,说明不是adapter的问题。
    我觉得是TimePickerDialog的问题,因为弹出Set time对话框,点击Done就会出现两个相同的闹钟,
    如果点击屏幕中Set time对话框以外的地方,对话框也会消失,这时候就只有一个闹钟。
      

  2.   

    问题已经解决了,是android4.1和4.2的系统bug。需要重写TimePickerDialog中的onStop方法
    tpd = new TimePickerDialog(getContext(), otsl, hourOfDay, min, true){
                @Override
                protected void onStop() {
                    //super.onStop();
                }
            };
    把里面的super.onStop()注释掉就行了。