我有一个使用DownloadPicture
方法的类正在执行AsyncTask。该类不是class MainActivity extends Activity
的子类。如何使用DownloadPicture
方法显示ProgressDialogs?我想我可以将MainActivity.this
传递给类conatructor,但还有其他方法吗?
答案 0 :(得分:1)
请尝试这种方式,希望这有助于您解决问题。
将您的活动上下文传递给构造函数中的DownloadPicture类,并在onPreExecute()中初始化ProgressDialogs:
public class ProgressDialogs extends AsyncTask<Void,Void,Void>{
private Context context;
private ProgressDialog progressDialog;
public ProgressDialogs(Context context){
this.context=context;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog = ProgressDialog.show(context, "dialog title","dialog message", true);
}
@Override
protected Void doInBackground(Void... params) {
// do you background code here
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
if(progressDialog!=null && progressDialog.isShowing()){
progressDialog.dismiss();
}
}
}
答案 1 :(得分:0)
使用Interface从AsyncTask回调活动。你可以从你的活动中使用ProgressDialog做任何事情。可以详细解释是否可以提供代码示例。