延迟执行action.run()方法

时间:2015-06-09 13:37:06

标签: java eclipse-plugin

我编写了一个utils方法,我必须调用Action的run方法。 但是,我必须使用不同的参数重复调用这个util方法。 util方法签名是

clickPullDownMenu(String ViewID, String MenuPath){
    Display.getDefault.syncexec(new Runnable(){
        public void run(){
            //few lines of code
            action.run();
        }));
    }
}

当我提供观看ID'和菜单'被点击。

实施例。

    clickPullDownMenu("view_ID", "import");
    //check whether the entry is imported.

在我调用保存菜单项后,运行'运行'运行方法。因此,检查数据导入是否完成的代码失败了。

但是,当我调试它时,它成功地工作,因为我在每一步使用步骤。

有没有办法等到run()方法完全完全?我怀疑run()方法可能会调用一些Runnables。

1 个答案:

答案 0 :(得分:2)

如果你知道run方法平均需要多长时间,那么你可以等待那个平均值的上限,如果它不是那么长就是安全的那样:

    private static int TIME_OUT = 3000; // for 3 seconds
    new Handler().postDelayed(new Runnable()
    {
        @Override
        public void run()
        {
            // do your thing here
            finish();
        }
    }, TIME_OUT);

你可以把它放在你的action.run()调用的地方。