Muh*_*aat 11 android handler postdelayed
我正在使用postDelayed方法,Handler以便在一定时间后执行操作:
private static int time_to_wait = 2000;
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
// Make Action
}
}, time_to_wait);
Run Code Online (Sandbox Code Playgroud)
现在在等待时间的中间我想要更改剩余毫秒的值,因为一些处理结果,让我们说它现在等待1000毫秒,我想让它开始从2000再次计数,所以,我设置time_to_wait值到2000年,但它没有计数,因为它只需要var值(2000),只是等待那个时间,无论将time_to_wait值更改为任何其他值.
Muh*_*aat 22
这可以通过轻松创建一个将由处理程序显示的runnable,然后创建处理程序作为静态成员来实现,最后当你想要停止它时只删除你创建的runnable的回调,如果你想重新启动它你就有了删除回调并再次分配:
Runnable myRunnable = new Runnable() {
@Override
public void run() {
// your code here
}
};
public static Handler myHandler = new Handler();
private static final int TIME_TO_WAIT = 2000;
public void start() {
myHandler.postDelayed(myRunnable, TIME_TO_WAIT);
}
public void stop() {
myHandler.removeCallbacks(myRunnable);
}
public void restart() {
myHandler.removeCallbacks(myRunnable);
myHandler.postDelayed(myRunnable, TIME_TO_WAIT);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9549 次 |
| 最近记录: |