Android,对话框定时自动关闭的实现

本文介绍了如何在Android中实现对话框在设定时间后自动关闭。通过使用AlertDialog结合TimerTask和Handler,可以在8秒后自动关闭对话框。首先定义一个对话框实例,然后创建计时器和TimerTask,通过Handler接收并处理关闭对话框的消息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    初学Android没几天,最近在做一个项目,需要实现对话框弹出一段时间后自动消失,网上查找了部分资源并参考了SDK后,整理了下相关的方法:


      实现对话框的弹出消隐,现实主要的方法是使用Toast。Toast一般的使用很简单,一行代码即可:

 

 

 

     当然,Toast使用不限于此,强大的武器就是这样,菜鸟可以简单上手,高手也可以玩出花样。另如有兴趣深入下,可参考:http://dev.10086.cn/cmdn/wiki/index.php?doc-view-4610.html

 

    下面是我们今天主要提到的方法:

 

    Toast虽然使用很简单,但是它还是有很多的限制的,比如它是没有焦点的,因此即使是自定义的Toast也无法对上面的组件进行操作。例如我们需要一个输入用户信息的对话框,但如一段时间没有信息输入之后则自动关闭,这个就需要使用自定义的对话框了。但自定义的对话框是没有自动消隐的属性的,因此就需要我们有个线程对其进行监控,必要的时候对其进行关闭。

 

    下面,我们使用一般的对话框AlertDialog来举例:

 

    1、首先,在类(SampleView)内定义一个对话框,而后在需要弹出对话框的时候,进行赋值:

 

     

 

    2、声明并定义一个计时器,并在定时器内定义标志位,用于对传递消息进行判断:

 

     

 

3、声明并定义一个Handler,用于接收定时器发送的信息,并对信息作出反馈。

 

 

 

    4、上述动作,已经完成了我们需要为程序做的准备工作,接下来,只需在需要弹出对话框的位置添加对话框定义并显示的代码,以及发送相关的消息即可:

 

     

 

    依照以上的方法即可实现对话框的定时关闭的功能了。

 

 

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值