在Android中等待线程完成可以通过以下几种方式实现:
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
// 子线程执行的任务
}
});
thread.start(); // 启动子线程
try {
thread.join(); // 等待子线程执行完毕
} catch (InterruptedException e) {
e.printStackTrace();
}
// 子线程执行完毕后,继续执行主线程的任务
CountDownLatch latch = new CountDownLatch(1); // 创建CountDownLatch对象
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
// 子线程执行的任务
latch.countDown(); // 子线程执行完毕后,计数器减1
}
});
thread.start(); // 启动子线程
try {
latch.await(); // 等待计数器变为0
} catch (InterruptedException e) {
e.printStackTrace();
}
// 子线程执行完毕后,继续执行主线程的任务
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
// 子线程执行完毕后,在主线程中执行的操作
}
};
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
// 子线程执行的任务
handler.sendEmptyMessage(0); // 子线程执行完毕后,发送消息给主线程
}
});
thread.start(); // 启动子线程
// 主线程继续执行其他任务
以上是在Android中等待线程完成的几种常用方式,可以根据具体的需求选择适合的方法。
领取专属 10元无门槛券
手把手带您无忧上云