我正在使用AndroidStudio(Java),我将数据发布到URL并上传一些图像。这个过程没问题。问题是任务是异步的,所以它在验证其他东西后完成。 这是代码:
boolean ImgSubidasOK = true;
...
btnSubirFotosSistema.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
...
SubeFotografia(parametro1, parametro2);
if (ImgSubidasOK){
//doSomething, ACTIVITY 1
}
else {
//doSomething, ACTIVITY 2
}
...
}
}
...
public void SubeFotografia(final String parametro1, final String parametro2) {
...
PostResponseAsyncTask task = new PostResponseAsyncTask(MainActivity.this, postData, new AsyncResponse() {
@Override
public void processFinish(String s) {
if (s.contains("uploaded_success")){
//IMAGE UPLOAD SUCCESSFUL
}
else {
ImgSubidasOK = false;
//ERROR UPLOAD IMAGE
}
}
});
String URLFinal = "https://URLASUBIRIMAGENES.php";
task.execute(URLFinal);
...
}

所以我想得到 processFinish 的结果,然后结束这个功能 SubeFotografia(parametro1,parametro2); 。 因为我有一个问题,即上传图片时出错,并在完成 SubeFotografia 后设置布尔 ImgSubidasOK = false 。 所以我想完成 SubeFotografia(parametro1,parametro2); FIRST,使用 processFinish 然后检查 if(ImgSubidasOK)。
我怎么能用asynctask做到这一点?任何帮助都会很棒,谢谢。
答案 0 :(得分:0)
我解决了。 Changinf这条线 task.execute(URLFinal);
为此: String str_result = task.execute(URLFinal).get();