我需要使用 android 中的线程每秒递增一个数字
I need to increment a number every second using threads in android
这里我使用 Handler 来做,但它只递增一个数字一次。我希望它增加数字,直到我使用 handler.removeCallbacksAndMessages(null); 停止它。
任何人都可以指导我如何实现这一目标。我刚接触 android。
Handler handler;
handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
count++;
}
}, 1000);
试试这个
Handler handler;
handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
count++;
handler.postDelayed(this, 1000);
}
}, 1000);
你可以
- 每秒重新运行 runnable
- 使用 AlarmManager。
我建议您查看 this link 以更深入地了解如何实施 post 延迟或警报管理器以每 X 秒重复一次任务的多种方式。
编辑:我建议您在 onPause 方法中停止处理程序。
定义一个线程并启动它。
Thread counterThread=new Thread(()->{
try{
while(true){
counter++;
Thread.sleep(1000);
}
}
catch (Exception e){
}
});
counterThread.start();
当你想停止这个线程时调用counterThread.interrupt();
这里我使用 Handler 来做,但它只递增一个数字一次。我希望它增加数字,直到我使用 handler.removeCallbacksAndMessages(null); 停止它。
任何人都可以指导我如何实现这一目标。我刚接触 android。
Handler handler;
handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
count++;
}
}, 1000);
试试这个
Handler handler;
handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
count++;
handler.postDelayed(this, 1000);
}
}, 1000);
你可以
- 每秒重新运行 runnable
- 使用 AlarmManager。
我建议您查看 this link 以更深入地了解如何实施 post 延迟或警报管理器以每 X 秒重复一次任务的多种方式。
编辑:我建议您在 onPause 方法中停止处理程序。
定义一个线程并启动它。
Thread counterThread=new Thread(()->{
try{
while(true){
counter++;
Thread.sleep(1000);
}
}
catch (Exception e){
}
});
counterThread.start();
当你想停止这个线程时调用counterThread.interrupt();