在Android上运行ProgressDialog
我正在尝试运行progressDialog,它将在应用程序的第一次加载时将项目加载到Sqlite数据库中。我收到一条错误消息,因为应用程序在将其余数据加载到数据库之前运行应用程序中的其余代码 如何确保progressDialog中的代码在程序其余部分中的代码之前完成在Android上运行ProgressDialog,android,xamarin.android,threadpool,progressdialog,Android,Xamarin.android,Threadpool,Progressdialog,我正在尝试运行progressDialog,它将在应用程序的第一次加载时将项目加载到Sqlite数据库中。我收到一条错误消息,因为应用程序在将其余数据加载到数据库之前运行应用程序中的其余代码 如何确保progressDialog中的代码在程序其余部分中的代码之前完成 LocalDatabase DB = new LocalDatabase(); var dbpd = ProgressDialog.Show(this, "Loading Database", "Please wait Loadin
LocalDatabase DB = new LocalDatabase();
var dbpd = ProgressDialog.Show(this, "Loading Database", "Please wait Loading Data",true);
ThreadPool.QueueUserWorkItem((s) =>{
DB.createDB();
RunOnUiThread(() => databaseLoaded());
});
为此使用ayncTask
class loadDatabase extends AsyncTask<Void, Void, Void>{
@Override
protected void onPreExecute(Void result) {
//Start the dialog
super.onPostExecute(result);
}
@Override
protected Void doInBackground(Void... params) {
//Do the database loading part..
return null;
}
@Override
protected void onPostExecute(Void result) {
//Dismiss the dialog and proceed furture.
super.onPostExecute(result);
}
}
class loadDatabase扩展了异步任务{
@凌驾
受保护的void onPreExecute(void结果){
//启动对话框
super.onPostExecute(结果);
}
@凌驾
受保护的Void doInBackground(Void…参数){
//执行数据库加载部分。。
返回null;
}
@凌驾
受保护的void onPostExecute(void结果){
//关闭对话框,然后继续。
super.onPostExecute(结果);
}
}
要执行此操作,请对其新对象调用execute