Java 带有progressdialog和按钮的异步任务
我是初学者,我有一个测试。我做了所有的任务,但我有一个问题-Java 带有progressdialog和按钮的异步任务,java,android,android-asynctask,Java,Android,Android Asynctask,我是初学者,我有一个测试。我做了所有的任务,但我有一个问题- public class HttpTask extends AsyncTask<Integer, String, String> {#### ProgressDialog dialog; Context context; public HttpTask(Activity activity) { //init progress dialog dialog = new ProgressDialog(conte
public class HttpTask extends AsyncTask<Integer, String, String> {####
ProgressDialog dialog;
Context context;
public HttpTask(Activity activity) {
//init progress dialog
dialog = new ProgressDialog(context);****
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
}
protected void onPreExecute() {
// show progress dialog
dialog.setMessage("Loading...");
dialog.setCancelable(false);
}
protected String doInBackground(Integer... params) {
//freeze system to 5 seconds
try {
int seconds = params[0]*5;####
TimeUnit.SECONDS.sleep(seconds);
} catch (InterruptedException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(final String success) {
// if there is progress dialog hide it
dialog.dismiss();
}
}
谢谢你的回答。现在我又遇到了另一个问题(我表现出第二个问题的迹象)
是,您必须获得
NullPointer
。因为您的上下文
为空
像这样改变这个
public HttpTask(Context _context) {
context = _context;
//init progress dialog
dialog = new ProgressDialog(context);****
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
}
实际上,您的
上下文
是null
,因为您没有初始化它
在HttpTask
中添加一行额外内容:
public HttpTask(Activity activity) {
this.context = activity;
dialog = new ProgressDialog(context);
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
}
并将上下文
更改为活动
,如下所示:
Activity context;
现在,请在课堂上的任何地方调用此
context
。谢谢您的回答。现在我有另一个问题你的另一个问题是什么?我已经编辑了帖子你能检查一下吗?task.execute()代码>在此传递一些参数你是什么意思?我需要写课程?谢谢,但我还有一个问题!
public HttpTask(Context _context) {
context = _context;
//init progress dialog
dialog = new ProgressDialog(context);****
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
}
public HttpTask(Activity activity) {
this.context = activity;
dialog = new ProgressDialog(context);
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
}
Activity context;