中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

多次使用postDelayed方法導致計時加快問題

發布時間:2020-07-31 23:20:50 來源:網絡 閱讀:3352 作者:FangjgAndroid 欄目:開發技術

給出這么個場景


假設你要做一個計時器,點擊按鈕開始計時,再點擊按鈕重新開始計時

我這邊要使用postDelayed方法來對控件進行刷新顯示,也能達到計時效果


貼代碼

多次使用postDelayed方法導致計時加快問題


說一下

習慣上直接接postdelayed。。。。,然后第一次點擊計時沒問題,第二次就看起來好像計時加快了。。。

其實是這么個問題,如果那個handler不是成員變量,每次點擊都new一個handle,或者沒有將handler里面的線程給結束掉直接再new runnable里面執行代碼塊的話,就會多一條線程出來,對控件進行操作,其實每條線程對控件執行的間隔都是1秒,但由于是多個線程對控件進行操作,增加的次數多了,看起來就好像是計時加快了。

解決的辦法是保證只有一條存活的線程對控件進行操作,所以每次調用計時方法時,先將該handler里面的線程結束掉,再用新線程對控件進行操作,醬紫就沒問題了

結束掉線程的方法是這個

handler.removeCallbacks(runnable);


好,就這樣

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴东县| 乐山市| 叙永县| 阜宁县| 瑞安市| 姜堰市| 河东区| 柏乡县| 思南县| 阿巴嘎旗| 法库县| 玉树县| 兰考县| 洪江市| 万全县| 紫金县| 洪湖市| 湟中县| 镇巴县| 岱山县| 嘉善县| 山东省| 安溪县| 舒城县| 旺苍县| 理塘县| 堆龙德庆县| 石台县| 五寨县| 敖汉旗| 房山区| 勃利县| 中西区| 南靖县| 惠州市| 通城县| 衡阳县| 鄱阳县| 于田县| 沾化县| 铁岭县|