加载ListView内容之前显示进度对话框

时间:2012-06-18 14:14:17

标签: android multithreading progressdialog

我正在从文件中读取数据 - >保存到DB - >通过从数据库中获取数据来加载我的自定义ListView。在获取数据并将数据保存到数据库时我希望ProgressDialog出现在我的屏幕上我尝试了这两种类型 但它不起作用

类型1:

AlertDialog alertDialog = AlertDialog.show(CommoditiesListScreen.this, "Importing...");

// importing data from file
// Saving data to the DB

alertDialog.dismiss();

类型2:

 UiDialog uiDialog = new UiDialog(CommoditiesListScreen.this);
 CommoditiesListScreen.this.runOnUiThread(uiDialog);
 AlertDialog alertDialog = AlertDialog.show(CommoditiesListScreen.this, "Importing...");
 alertDialog.getWindow().makeActive();


// importing data from file
// Saving data to the DB

uiDialog.stopDialog();
alertDialog.dismiss();

我尝试了两种方式它不起作用,ProgressDialog没有出现在屏幕上,我添加的任何其他内容或我在我的鳕鱼eplease中做的任何修改都帮助我...

注意:忘记时调用dismiss();在ListView加载后出现类型1进度,它旋转无限时间..

1 个答案:

答案 0 :(得分:2)

这是使用AsyncTask的理想情况,您可以在方法dialog中显示onPreExecute(),执行后台操作(从文件中读取数据 - >保存到数据库中)在方法doInBackground()中加载并在方法onPostExecute()中显示您的列表。