0
你好家伙我有一个异步任务,我从网上得到点,根据这些点我必须决定哪个弹出窗口我应该显示在主线程。例如,如果积分较少,我应该显示“买点”屏幕,否则显示“购买物品”屏幕。我也想显示progressdialog,直到点加载停止主线程并显示进度对话框
如果我这样做主线程停止,直到点加载,但进度对话框不会显示
String str_result= new Jsontask().execute("my url" + uid).get();
如果我这样做进度对话框显示,但加载点是错误的
new Jsontask().execute("my url" + uid);
我异步TAKS
class Jsontask extends AsyncTask<String, String, String> {
ProgressDialog pdia;
@Override
protected void onPreExecute() {
super.onPreExecute();
pdia = new ProgressDialog(PopupActivity.this);
pdia.setMessage("Loading...");
pdia.show();
}
@Override
protected String doInBackground(String... params) {
// get my points here
return null;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
System.out.println(result);
setRewardpoints(Integer.parseInt(result));
pdia.dismiss();
}
}
我如何显示progressdialog并停止执行主线程,直到异步任务完成?
?你不应该..用ProgressDialog锁定UI已经足够 – lubilis
我想停止,直到异步任务完成,这样我就可以得到正确的点并启动正确的弹出窗口 – Redman
为什么在解除pdia之后,你不在pnPostExecute中显示进度对话框? – Elltz