在我的應用程序中,我被要求添加自動更新功能。我想要做的是有一個計時器事件,以便如果用戶在最近60秒內沒有按下更新按鈕,請執行'refreshButton.performClick();'。每60秒編程一次'按'按鈕
我一直在尋找stackoverflow(和谷歌搜索),但我找不到一個定時器與用戶界面交互的例子。我不斷收到類似'只有創建視圖層次結構的原始線程'的錯誤。
如果用戶確實按下按鈕,我想重置計時器。
這甚至可能嗎?
TIA
在我的應用程序中,我被要求添加自動更新功能。我想要做的是有一個計時器事件,以便如果用戶在最近60秒內沒有按下更新按鈕,請執行'refreshButton.performClick();'。每60秒編程一次'按'按鈕
我一直在尋找stackoverflow(和谷歌搜索),但我找不到一個定時器與用戶界面交互的例子。我不斷收到類似'只有創建視圖層次結構的原始線程'的錯誤。
如果用戶確實按下按鈕,我想重置計時器。
這甚至可能嗎?
TIA
您只能aView從UI線程交互。
你可以在你的計時器任務中做出這樣的事情;
在類中定義這個變量:
Handler handler = new Handler();
在你的計時器任務調用:
handler.post(new Runnable(){
public void run(){
refreshButton.performClick();
}
});
甚至更好,調用'handler.postDelayed(runnable,60000);'。完全避免定時器。 – Jave 2012-03-09 13:17:03
您可以使用AlaramManager類和後臺服務到每60跑秒你的代碼。
Here就是一個例子看AlarmService_Service.java
我認爲你在錯誤的方向去。不要試圖按下按鈕,只需設置一個計時器來調用一旦按下按鈕後調用的相同方法,它將使其更簡單,並且不會無緣無故地涉及UI。
嗯,這是一個很好的觀點,但是我現在正在努力 – user1174838 2012-03-09 13:15:41
粘貼您現有的代碼,以便我們可以幫助您修改/擴展它 – waqaslam 2012-03-09 13:02:54