我是 Android 编程新手.. 我正在使用 Mono for android.. 我想制作一个进度对话框来显示我导入数据时的进度。我使用 Asynctask .. 任何人都可以帮助如何让我的进度对话框显示进度。或者任何关于其他可能的方法的建议。
public class importData : AsyncTask
{
private ProgressDialog _progressDialog;
WebReference.Service1 service = new WebReference.Service1();
private Context _context;
public importData(Context context)
{
_context = context;
}
protected override void OnPreExecute()
{
// i make a horizontal progressdialog, i want to see the progress while importing
base.OnPreExecute();
_progressDialog = new ProgressDialog(_context) { Indeterminate = false };
_progressDialog.SetMessage("Please wait...");
_progressDialog.SetProgressStyle(ProgressDialogStyle.Horizontal);
_progressDialog.Max = 806;
_progressDialog.Progress = 0;
_progressDialog.Show();
}
protected override Java.Lang.Object DoInBackground(params Java.Lang.Object[] @params)
{
try
{
//My background Code in Importing Data
return true;
}
catch (Exception ex)
{
//When has an error return false
return false;
}
}
protected void OnProgressUpdate()
{
base.OnProgressUpdate();
//What i'm going to put in this part
}
protected override void OnPostExecute(Java.Lang.Object result)
{
base.OnPostExecute(result);
_progressDialog.Hide();
_progressDialog.Dismiss();
bool dd = (bool)result;
if (dd)
{
//Toast.MakeText(this, "Importing data completed", ToastLength.Short).Show();
Android.App.AlertDialog.Builder builder = new AlertDialog.Builder(_context);
AlertDialog ad = builder.Create();
ad.SetTitle("Info");
ad.SetIcon(Android.Resource.Drawable.IcDialogInfo);
ad.SetMessage("Importing deals completed");
ad.SetButton("OK", (s, e) => { });
ad.Show();
}
else {
Android.App.AlertDialog.Builder builder = new AlertDialog.Builder(_context);
AlertDialog ad = builder.Create();
ad.SetTitle("Error");
ad.SetIcon(Android.Resource.Drawable.IcDialogAlert);
ad.SetMessage("Failed");
ad.SetButton("OK", (s, e) => { });
ad.Show();
}
}
}