我想在网格视图中加载图像时显示进度对话框。
我面临的问题是当前线程和进度对话框线程同时运行。
public String Method1(){
String output="";
final ProgressDialog aProgDialogL = ProgressDialog.show(this, "", "Loading...");
Thread thread = new Thread() {
public void run () {
//My codes
aHandlerL.post(new Runnable() {
@Override
public void run() {
//Post Runnable codes
aProgDialogL.dismiss();
}
});
}
};
thread.start();
/*
*
*
* OTHER CODES
*
*
*/
return output;
}
在上面的示例中,我需要在 Progress Dialog Thread 中运行代码。完成执行后,我需要运行我的“其他代码”。怎么做?
.
我尝试使用异步任务。在异步任务完成之前,method1 被执行并重新使用字符串。
public String Method1(){
String result="";
new GetImages().execute();
return result;
}
public class GetData extends AsyncTask<Void, Void, Integer>{
@Override
protected void onPreExecute() {
aProgDialogL = ProgressDialog.show(Main.this, "", "Loading...");
}
@Override
protected Integer doInBackground(Void... params) {
//Progress Dialig Code
return null;
}
@Override
protected void onPostExecute(Integer result) {
aProgDialogL.dismiss();
//OTHER CODES
super.onPostExecute(result);
}
}