如何在另一次完成后执行方法?

时间:2015-09-03 18:55:27

标签: java android multithreading

我有两个方法saveLesson()uploadFile()需要一些时间才能完成。

我希望第二种方法必须在第一种方法完成后开始。

saveLesson();
if (!lessonDetails.get("file").matches(";No file attached")) {
    ArrayList<String> allFileUris = getFileNames(lessonDetails.get("file"));
    uploadFile(allFileUris);
} 

2 个答案:

答案 0 :(得分:6)

您可以采用以下方法进行相同的

1)你可以在第一种方法的最后一种方法中从第一种方法本身调用第二种方法。

2)你可以创建一个Asynctask并执行第一个方法,然后执行第一个方法然后onPostExecute方法调用另一个方法

答案 1 :(得分:0)

这可能是满足某些需求的一种方式

boolean firstFunctionResult = firstFunction("1");

第二功能

if (firstFunctionResult) {

    Toast.makeText(mContext,
                   "Dance",
                   Toast.LENGTH_SHORT).show();

    // Can Run Some Function Here

}

第一个功能

public boolean firstFunction(String variableToCheck) {

    if (variableToCheck=="1") {

        return true;

    } else {

        return false;
    }
}

一个人很想用OnActivityResult测试一种方法-但有人担心它不会重复使用。.