运行ProgressDialog MonoAndroid

时间:2012-11-01 16:24:34

标签: android xamarin.android threadpool progressdialog

我正在尝试运行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());
});

1 个答案:

答案 0 :(得分:0)

为此

使用asyncTask
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);
        }

    }

要执行此操作,请在其新对象上调用execute。