等待直到上一个功能完全执行

时间:2012-12-13 17:56:42

标签: java android recursion wait

我按执行顺序有一系列IF语句,我的困境是如果输入了一个IF语句,我希望调用方法等到被调用函数完成。事情是我的被调用函数是递归的,所以我不知道什么时候它会结束。这是调用方法的代码。

                if(log.isChecked())
                {
                    runlog(sdPath.getAbsolutePath());
                }
                if(tmp.isChecked())
                {
                    runtmp(sdPath.getAbsolutePath());
                }
                if(txt.isChecked())
                {
                    runtxt(sdPath.getAbsolutePath());
                }
                if(bf.isChecked())
                {
                    runbf(sdPath.getAbsolutePath());
                }
                if(ed.isChecked())
                {
                    runed(sdPath.getAbsolutePath());
                }

如果输入log.isChecked(),我希望调用函数(我在这里显示的代码,该函数)等到它检查下一个条件是tmp.isChecked()

正如我之前提到的,所有被调用的函数runlog,runtmp,runtxt,runbf,runed都是递归的。我如何实现我的目标?

2 个答案:

答案 0 :(得分:2)

我认为递归可以用电影“初始”来解释。你有3件事要做。

  
      
  1. 去睡觉。
  2.   
  3. 史。
  4.   
  5. 醒来,吃一碗麦片。
  6.   

想象一下,你在做梦,然后在梦中实现梦想。你现在无法醒来吃东西,直到你走出更深层的梦想并完成当前的梦想。

这基本上是你的例子中发生的事情,除了梦想你跑第一个if而你不能退出它直到它到达它的返回条件然后你醒来吃饭(输入第二个if)。

答案 1 :(得分:1)

这应该默认发生。递归的嵌套函数在这里没有区别。

每个if块只会在前一个块完成之后执行,除非您的嵌套函数是启动线程或类似的东西。