我看了一些问题并且没有回答我的问题..
我有这个asyncTask ...
private class LoadData extends AsyncTask<Void, Void, Void>{
protected Void onPreExecute(Void...arg0){
super.onPreExecute();
ProgressDialog dialog = ProgressDialog.show(shoppingClass.this, "",
"Loading. Please wait...", true);
dialog.show();
return null;
}
@Override
protected Void doInBackground(Void... params) {
item = we.getText().toString();
getUserPreference();
itemLookup.loadUrl(url);
return null;
}
@Override
protected void onPostExecute(Void notused){
itemLookup.setVisibility(View.VISIBLE);
}
}
问题是progessDialog没有出现?我不知道为什么......我正在根据文件写一切。
答案 0 :(得分:1)
您没有正确覆盖该方法。将onExreExecute更改为:
@Override
protected void onPreExecute() {
super.onPreExecute();
ProgressDialog dialog = ProgressDialog.show(shoppingClass.this, "",
"Loading. Please wait...", true);
dialog.show();
}
答案 1 :(得分:0)
可能只是因为doinbackground完成得太快而无法看到对话框。
答案 2 :(得分:0)
检查shoppingClass.this是否具有UI上下文。此外,您不必在其上调用两次.show(),并且您不必返回null作为其void(小写)。