按顺序运行3个公共空间(在每个完成任务后)

时间:2017-07-28 16:29:55

标签: java android

我有3个公共空位。第一个void解析pdf文件。第二个void将pdf文件增强为字符串,第三个void使用该字符串以编程方式显示文本视图(在for循环中)。当所有这些空隙被调用时,应用程序崩溃,因为他们都试图同时运行。我希望他们等待彼此完成他们的任务。我不想创造一个包含其中所有组件的大空洞。

我怎样才能打电话给他们让他们等到对方完成?

1 个答案:

答案 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();