我想要使用进度条...但是当我搜索时,进度条不能与Asynctask.get一起使用,但我必须在Asynctask中使用.get和进度。如何使用Asynctask获取方法进度?
我做了非常简单的源代码。 如何更改主线程中显示进度条?
我想同时使用get方法和UI进度。
public void onCreate(Bundle savedInstanceState) {
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
AAA asyncTask = new AAA();
try {
((AAA) asyncTask).execute(null, null, null,null).get();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ExecutionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
public class AAA extends AsyncTask<Object, String, Object> {
private ProgressDialog progDailog = null;
@Override
protected void onPreExecute() {
super.onPreExecute();
progDailog = new ProgressDialog(ViewTestActivity.this);
progDailog.setMessage("Loading...");
progDailog.setIndeterminate(false);
progDailog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progDailog.setCancelable(true);
progDailog.show();
}
@Override
protected Object doInBackground(Object... params) {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return params;
}
@Override
protected void onPostExecute(Object result) {
progDailog.dismiss();
}
}
请帮帮我。 谢谢!
OMG ......感谢非常好!!!!你节省了我的时间! – Adrian
我得到了一个错误(?),它在3000秒内运行良好,但是如果我添加10000,它不能正常工作.T_T – Adrian
分享logcat –