在Android上运行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

我正在尝试运行progressDialog,它将在应用程序的第一次加载时将项目加载到Sqlite数据库中。我收到一条错误消息,因为应用程序在将其余数据加载到数据库之前运行应用程序中的其余代码

如何确保progressDialog中的代码在程序其余部分中的代码之前完成

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