① android开发中怎么控件按钮不让用户频繁的点击
可以通过时间间隔控制不让用户频繁点击。
1、定义一个变量,记录上一次单击的时间
java">longt1=0;//记录上一次单击的时间,初始值为0
2、在按钮的点击时获取本次点击的时间,然后根据间隔时间设置可以点击的频率。
Buttonbtn=(Button)findViewById(R.id.xxxx);//获取该按钮
btn.setOnClickListener(newView.OnClickListener(){//定义按钮的点击事件
@Override
publicvoidonClick(Viewv){
if(t1==0){//第一次单击,初始化为本次单击的时间
t1=(newDate()).getTime();
}else{
longcurTime=(newDate()).getTime();//本地单击的时间
System.out.println("两次单击间隔时间:"+(curTime-t1));//计算本地和上次的时间差
if(curTime-t1>5*1000){
//间隔5秒允许点击,可以根据需要修改间隔时间
t1=curTime;//当前单击事件变为上次时间
}
}
}
}
② android 怎样得到连续两次单击button的时间间隔
1、定义一个变量,记录上一次单击的时间
2、设置按钮的点击监听事件,获取本次单击的时间
3、本地单击的时间减去上次单击的时间就是时间间隔。
示例
longprelongTim=0;//定义上一次单击的时间
button01.setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewv){
if(prelongTim==0){//第一次单击,初始化为本次单击的时间
prelongTim=(newDate()).getTime();
}else{
longcurTime=(newDate()).getTime();//本地单击的时间
System.out.println("两次单击间隔时间:"+(curTime-prelongTim));//计算本地和上次的时间差
prelongTim=curTime;//当前单击事件变为上次时间
}
}
}
③ android有个获取时间的函数:systemTime(SYSTEM_TIME_MONOTONIC);我想知道SYSTEM_TIME_MONOTONIC什么意思
获取系统当前的时间。下面的文章希望能帮到您。
在一些系统调用中需要指定时间是用CLOCK_MONOTONIC还是CLOCK_REALTIME,以前总是搞不太清楚它们之间的差别,现在终于有所理解了。
CLOCK_MONOTONIC是monotonic time,而CLOCK_REALTIME是wall time。
monotonic time字面意思是单调时间,实际上它指的是系统启动以后流逝的时间,这是由变量jiffies来记录的。系统每次启动时jiffies初始化为0,每来一个timer interrupt,jiffies加1,也就是说它代表系统启动后流逝的tick数。jiffies一定是单调递增的,因为时间不够逆嘛!
wall time字面意思是挂钟时间,实际上就是指的是现实的时间,这是由变量xtime来记录的。系统每次启动时将CMOS上的RTC时间读入xtime,这个值是"自1970-01-01起经历的秒数、本秒中经历的纳秒数",每来一个timer interrupt,也需要去更新xtime。
以前我一直想不明白,既然每个timer interrupt,jiffies和xtime都要更新,那么不都是单调递增的吗?那它们之间使用时有什么区别呢?昨天看到一篇文章,终于明白了,wall time不一定是单调递增的。因为wall time是指现实中的实际时间,如果系统要与网络中某个节点时间同步、或者由系统管理员觉得这个wall time与现实时间不一致,有可能任意的改变这个wall time。最简单的例子是,我们用户可以去任意修改系统时间,这个被修改的时间应该就是wall time,即xtime,它甚至可以被写入RTC而永久保存。一些应用软件可能就是用到了这个wall time,比如以前用vmware workstation,一启动提示试用期已过,但是只要把系统时间调整一下提前一年,再启动就不会有提示了,这很可能就是因为它启动时用gettimeofday去读wall time,然后判断是否过期,只要将wall time改一下,就可以欺骗过去了。
④ android 实现同时多个倒计时效果怎么做
安卓实现同时多个倒计时效果的步骤:
我们首先需要在输入框中输入一个秒数,比如:12,然后获取输入框中的值,显示在一个TextView中;
点击“开始倒计时”按钮,每隔一秒钟,秒数减1,然后显示在TextView中;
点击“停止倒计时”按钮,计时器停止运行,当再次点击“开始倒计时”按钮,计时器继续运行。
平时用的每个商品都应该有两个属性值,这里叫它deadLine和isOvere吧,表示商品的到期时间和是否到期,那么倒计时可以考虑这么实现:设置一个主计时器,每隔1秒发出消息告诉GridView现在的时间,GridView的Item获得这个时间之后就和deadLine比较,如果已经到deadline了,就把数据源中的这项标记成已到期(修改isOvere的值为true);没到deadline,就计算还差多少时间,显示到GridView的Item里。
⑤ Android如何计算时间差
你先获取一个时间system.cur..获取时间然后保存到一个long里边在第二次获取的时候就可以减去第一个时间了。尤其在判断点击两次退出程序的时候很管用的。