① 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里邊在第二次獲取的時候就可以減去第一個時間了。尤其在判斷點擊兩次退出程序的時候很管用的。