我想要使用進度條...但是當我搜索時,進度條不能與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 –