我有3个公共空位。第一个void解析pdf文件。第二个void将pdf文件增强为字符串,第三个void使用该字符串以编程方式显示文本视图(在for循环中)。当所有这些空隙被调用时,应用程序崩溃,因为他们都试图同时运行。我希望他们等待彼此完成他们的任务。我不想创造一个包含其中所有组件的大空洞。
我怎样才能打电话给他们让他们等到对方完成?
答案 0 :(得分:2)
尝试使用Runnable array
<强>阵列:强>
Runnable[] methods = new Runnable[]{
new Runnable() {
@Override
public void run() {
Log.d("TAG", "1");
//1 method
}
},
new Runnable() {
@Override
public void run() {
Log.d("TAG", "2");
//2 method
}
},
new Runnable() {
@Override
public void run() {
Log.d("TAG", "3");
//3 method
}
}
};
致电:
ExecutorService service = Executors.newSingleThreadExecutor();
for (Runnable r : methods)
service.submit(r);
service.shutdown();