0
我在我的Android應用程序中以編程方式發送電子郵件。要做到這一點我用這樣一個的AsyncTask:Android AsyncTask GUI卡住
AsyncTask<Void, Void, Void> task = new AsyncTask<Void, Void, Void>() {
@Override
protected void onPreExecute() {
super.onPreExecute();
//testMailButton.setEnabled(false);
processdialog = ProgressDialog.show(context, "Test mail sturen", "wachten a.u.b...");
processdialog.setCancelable(false);
}
@Override
protected Void doInBackground(Void... arg0) {
try {
properties.setProperty("emailTo", emailContactField.getText().toString());
properties.setProperty("emailFrom", emailField.getText().toString());
properties.setProperty("passWFrom", passwordField.getText().toString());
String[] temp = { properties.getProperty("emailTo").toString()};
setupMail.updateUserInfo(temp,properties.getProperty("emailFrom"), properties.getProperty("passWFrom"));
loggedIn = setupMail.sendTestMail();
loginTryDone = true;
} catch (Exception e1) {
e1.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
if (processdialog != null) {
processdialog.dismiss();
testMailButton.setEnabled(true);
}
}
};
但processDialog永遠不會顯示,直到最後一刻,我也試着開始任務之前啓動它,但是這也不能工作。我不確定它爲什麼不起作用。誰能幫我?
感謝
嘗試processdialog =新ProgressDialog(YourActivity.this);代替。 –
你的意思是_「直到最後一刻」_ –
發佈你的doinBackground和onPostExecute方法。 –