我有MainActivity.java
Activity类,在应用程序启动时加载。我在名为asyncTask
的sperate文件中使用ServerOperation.java
方法。我需要在asyncTask的onPreExecute
方法中显示进度条。我正在使用以下代码,但它没有工作和应用程序崩溃:
public class ServerOperation extends AsyncTask<Void, Void, ArrayList<Job>> {
ProgressDialog progressDialog;
@Override
protected void onPreExecute() {
super.onPreExecute();
MainActivity myActivity = new MainActivity();
progressDialog = ProgressDialog.show(myActivity.getApplicationContext(),"PLEASE WAIT","LOADING JOBS...", true);
}
}
我应该如何使progressDialog在主要活动上工作?
感谢。
答案 0 :(得分:3)
你应该永远不要创建Acitvity类的实例。它不是一个普通的java类。
您可以将活动上下文传递给Asynctask的构造函数
调用Aysnctask为
new ServerOperation(MainActivity.this).execute(params);
MainActivity中的
然后
Context mContext;
public ServerOperation (Context context)
{
mContext =context;
}
然后
progressDialog = ProgressDialog.show(mContext,"PLEASE WAIT","LOADING JOBS...", true);