【发布时间】:2013-10-18 09:17:38
【问题描述】:
这是我在我的 Android 应用程序中所做的示例
public OnClickListener onSelectBtnClicked = new OnClickListener() {
@Override
public void onClick(View v) {
method1();
method2();
}
private void method1() {
Interface.API1();
}
private void method2() {
Interface.API2();
}
};
我在这里尝试使用外部库,因此我将调用他们的 API 来完成一些工作。现在当我点击按钮时,它会调用method1然后调用method2
这里的问题是method1被调用的时候会调用API1,API1会返回状态,但是它会在内部创建一些线程并开始一些下载任务。由于 API1 立即返回,我的程序继续执行方法 2 并开始调用 API2
我需要一种方法让我的程序等待我的 API1 完成其任务
我试过了,Thread.sleep 和 wait and notify,两者都不起作用,因为它停止了主线程并且它还暂停了 API 正在创建的线程
有什么建议可以让我的程序等待或任何其他方式来实现这一点?
【问题讨论】:
-
为什么不使用处理程序
-
使用一个线程,称之为 ThredManager,启动其他线程并使用倒计时同步
-
在Android中,有AsyncTask ...
标签: java android multithreading