TimerPickerDialog 中 onTimeSet 执行两次的问题

TimerPickerDialog组件的用法 我们在这里说的TimePickerDialog是一种弹出窗口,只不过窗口的内容固定显示为时间,它主要用来让用户选择时间,选择完时间后点击确认或者取消按钮,窗口就会消失。本章回将详细介绍它的使用方法。 阅读详情

开发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();
            }
        };
全面解析Android日期时间选择器的使用方法 虽然简单的实例足以满足基本需求,但有些情况下你可能需要更高级的自定义功能,例如更改日期格式或调整控件的外观。你可以通过设置属性来改变DatePicker的显示方式,也可以通过编写自定义布局来实现更深层次的自定义。例如,要隐藏默认的下拉列表,并通过编程方式设置日期,可以这样做:// 通过编程方式设置日期接下来的章节将详细介绍TimePicker组件的使用方法以及在布局文件中的高级配置,包括样式定制和事件处理。 阅读详情

相关推荐

C2000 ePWM与SDFM同步配置:从寄存器到Driverlib实战解析

在嵌入式实时控制系统中,脉宽调制(PWM)是实现电机驱动、数字电源等应用的核心技术,其信号质量和时序精度直接决定了系统性能。为实现精确控制,PWM信号常需与模数转换器(ADC)或Sigma-Delta滤波器(SDFM)的采样时刻严格同步,以消除开关噪声并获取准确的反馈信号。其技术原理在于通过硬件同步机制,将PWM的特定时间点(如周期中心)作为触发源,控制数据采集的启动时刻。这种硬件级同步能有效提升闭环控制的稳定性和动态响应速度,广泛应用于伺服驱动、变频器等高性能场景。本文聚焦于TI C2000系列微控制器,

weixin_33692284的博客 441

TimePickerDialog控件详细使用介绍

14.1.TimePickerDialog控件 14.1.1.概述 TimerPickerDialog:修改时间对话框,效果如下:    图-1 14.1.2.重要接口、方法 1、OnTimeSetListener 作用:监听图-1中set按钮的单击事件。该接口声明了如下方法: void onTimeSet(TimePicker view, int hourOfDay, int mi

wangliang198901的专栏 6741

避坑指南:ZYNQ平台上AXI 1G/2.5G Ethernet Subsystem实现IEEE1588的5个关键点

本文详细解析了在ZYNQ平台上使用AXI 1G/2.5G以太网子系统实现IEEE1588精密时间协议(PTP)的5个关键避坑点。从硬件选型、Vivado工程配置到Linux驱动适配,提供了实战经验与优化技巧,帮助工程师在工业自动化、电力系统等场景中实现纳秒级时间同步。

weixin_30687051的博客 232

安卓android时间选择器对话框TimePackerDialog,实现时间选择,滚动式时间选择

安卓android时间选择器对话框,实现时间选择,有多种不同的主题可以选择,滚动式,倒计时式,钟盘式。

xiaohaha123258的博客 4091

Hermes深入理解及源码解析(二):Hermes的记忆机制

源码位置:tools/memory_tool.py存储内容为两个文件,放在 ~/.hermes/memories/:MEMORY.md:Agent 自己的笔记(环境事实、项目约定、工具坑、学到的东西)—— 上限 2200 字符USER.md:关于用户的画像(角色、偏好、沟通风格)—— 上限 1375 字符作为一个独立的工具注册在系统中(为了让智能体正确使用它,System Prompt()中明确下达了禁令存储目标存储位置数据类型持久偏好/事实MEMORY.md我是谁、我喜欢什么、环境配置。

qq_41984117的博客 558

PPT| 公司网络安全意识培训 P73

近年来,随着互联网的不断发展,网络安全问题也日益凸显,各种网络安全事件层出不穷,对个人和企业的信息安全带来了巨大的威胁。针对这一现状,国家加强了对信息安全的保护,相继颁布了多项法律法规,其中最重要的就是网络安全法。本文将从网络安全法和其他相关法律入手,对信息安全的保护措施进行深入分析。 本人在四大咨询机构从事咨询工作多年,二十年一线数字化规划咨询经验,提供制造业数智化转型规划服务,顶层规划/企业架构/数据治理/数据安全解决方案资料干货. 该PPT共73页,原文获取及来源公众号:【智能制造数字化咨询】

waldensss的博客 1422

android倒计时dialog,倒计时 Dialog

1. 效果1.png2. 调用方式TimerDialogUtil.start(mContext, "message", TimerDialogUtil.ICON_SUCCESS, 5000, new TimerDialogUtil.OnTimerClickListener() {@Overridepublic void finish() {ToastUtils.showShort("here to...

weixin_29468561的博客 1028

高通9008模式隐藏技巧:不拆机用ADB命令+Diag协议进入EDL

本文深入解析高通EDL模式(紧急下载模式)的技术原理与实战应用,详细介绍了通过ADB命令和Diag协议无需拆机进入EDL的方法。涵盖硬件/软件触发方案、跨平台工具配置、Firehose协议解析及设备救砖流程,为开发者提供从基础到进阶的完整指南。

weixin_29191761的博客 1123

Android时间选择器对话框的使用

1.适用场合 当我们需要使用时间选择器,又碍于TimePicker的使用会破坏界面的美观性时,可以考虑使用TimePickerDialog. 2.关键代码实现 public class DemoActivity extends Activity { private TextView showTextView = null; private TimePickerD...

weixin_30535843的博客 163

5.7 医疗 Agent 实战:构建一个懂“望闻问切”的智能医疗咨询助手

本文介绍了如何构建一个智能医疗咨询助手项目,通过LoRA微调和vLLM部署技术,将通用大模型改造为专业"AI皮肤科医生"。项目采用精简架构:Streamlit前端直接与vLLM推理服务通信,重点展示了微调模型在专业性、安全性和同理心方面的显著提升。实施步骤包括:部署微调模型、构建交互界面,并通过对比测试验证微调效果。项目强调AI仅作为咨询助手而非医生替代品,始终以引导用户寻求专业医疗帮助为核心目标,体现了负责任AI应用的关键原则。

yonggeit的博客 2962

2023华为od机试C卷【宽度最小的子矩阵】Python 实现

给定一个矩阵,包含N*M个整数,和一个包含K个整数的数组现在要求在这个矩阵中找一个宽度最小的子矩阵,要求子矩阵包含数组中所有的整数。

MISAYAONE的博客 2185

安卓原生自带的日期选择器DatePickerDialog、时间选择器TimePickerDialog使用方法

安卓原生自带的日期选择器DatePickerDialog、时间选择器TimePickerDialog使用方法 XML布局如下图: 代码实现如下: public class MainActivity extends AppCompatActivity {     private TextView timeShow;//定义一个TextView控件对

幻化万千戏红尘 6511

【HAL库】STM32CubeMX开发----STM32F407----ETH+LWIP----TCPclient客户端

STM32F407开发板 为TCPclient客户端,PC端 为TCPserver服务端,相互之间的发送和接收实验。

MQ0522的博客 3047

TimerDialog初识

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" and

果酱大师的博客 373

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

android ontimeset,android – 没有调用TimePickerDialog.onTimeSetListener

Android 4.1.1之后TimePickerDialog发生了变化,并且有关于取消TimePickerDialog和DatePickerDialog的错误.请先阅读here.默认情况下,您无需设置正负按钮. TimePickerDialog和DatePickerDialog为您处理这些.因此,如果此取消问题对您不重要,请删除正负按钮的设置.如果在用户单击“确定”按钮的情况下删除这两个版本中的...

weixin_36192410的博客 226

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

android时间对话框TimePickerDialog介绍

目前网上流行着很多对“时间对话框TimePickerDialog”的讲解文章,但感觉都不是很详细。所以浣熊在这里详细对该方面的知识进行介绍,旨在帮助初学者能够快速掌握该项技术。         首先要做的是声明一个日历类的对象:         private Calendar c;         然后对其进行实例化:         c = Calendar.getInstance()

浣熊_BUPT 1万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

AndroidUI基础之 TimePickerDialog与 Timpicker 等简单的使用

在Android程序中,我们有时候需要设置时间,这时需要使用TimerPicker来设置时间,使用DatePicker来设置日期下面分别介绍具体的使用方法。 一:TimerPicker 的使用 1:效果图:     首先声明一个类 ,用来显示时间对话框并且该类继承DialogFragement 并实现TimePickerDialog.OnTimeSetListener(对话框中完成按钮的

WannerWang的博客 768

Android原生控件【TimePickerDialog】简单的使用

(1)首先在布局文件中定义一个Button以及对应的id (2)当点击该按钮时,代码如下: // 弹出对话框 Calendar calendar = Calendar.getInstance(); DatePickerDialog datePickerDialog = new DatePickerDialog(mContext, null, ...

jupiter008的专栏 2868

android ontimeset,Android 4.x(API 19) TimePickerDialog 中 onTimeSet 回调问题

1.问题发现什么!!!都0202年的了,竟然还有人在用4.x的系统。是的这两天接手了一个项目,需要设置一个起止时间,想到系统已有的轮子TimePickerDialog,TimePickerDialog(Context context, OnTimeSetListener listener, int hourOfDay, int minute,boolean is24HourView)一行代码搞定还...

weixin_28759829的博客 265

Android中的几个Picker(DatePicker、TimerPicker、NumberPicker、DatePickerDialog、TimePickerDialog)

一. DatePicker DatePicker常用的XML属性 XML属性 描述 android:calendarViewShown 设置该日期选择是否显示CalendarView组件。 android:endYear 设置日期选择器允许选择的最后一年。 android:maxDate 设置该日期选择器的最大日期。以mm/dd/y

zhenghongwu的博客 2711

一起Talk Android吧(第四百四十七回:UI控件之TimerPickerDialog)

本章回中主要介绍了TimePickerDialog的使用方法,我们通过文字结合代码的方式进行了介绍。

talk_8的专栏 424

安卓(android)实现选择时间功能,Android TimePickerDialog(原生安卓时间选择器)

这个控件说实话之前没用过原生的,都是用的自定义的,其实这个也挺好看的。public class MainActivity extends AppCompatActivity {private Calendar c;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceStat...

weixin_28893221的博客 667

Qt笔记(二十)之实现窗口定时关闭

实现提示窗口的定时关闭

我是黄同学博客 2989

使用DatePickerDialog,TimerPickerDialog

DatePickerDialog与TimePickerDialog的功能比较简单,用法也简单,只要如下两步即可。 1.通过new关键字创建DatePickerDialog,TimePickerDialog实例,调用他们的show()方法即可将日期选择框,时间选择对话框显示出来。 2.为DatePickerDialog,TimePickerDialog绑定监听器,这样就可以保证用户通过DateP

qxl_xjl_123的博客 329
上一篇: SDK manager 中 Done loading packages 问题
下一篇: Android CharSequence
zhangxinbetter
博客等级 码龄12年 5粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值