本文介绍了从片段获取当前活动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有此类用于通过android发送电子邮件
I have this class for sending email with android
public class SendMailTask extends AsyncTask {
private ProgressDialog statusDialog;
private Activity sendMailActivity;
public SendMailTask(Activity activity) {
sendMailActivity = activity;
}
protected void onPreExecute() {
statusDialog = new ProgressDialog(sendMailActivity);
statusDialog.setMessage("Getting ready...");
statusDialog.setIndeterminate(false);
statusDialog.setCancelable(false);
statusDialog.show();
}
@Override
protected Object doInBackground(Object... args) {
try {
Log.i("SendMailTask", "About to instantiate GMail...");
publishProgress("Processing input....");
GMail androidEmail = new GMail(args[0].toString(),
args[1].toString(), (List) args[2], args[3].toString(),
args[4].toString());
publishProgress("Preparing mail message....");
androidEmail.createEmailMessage();
publishProgress("Invio email in corso, sarai ricontattato da un nostro operatore per la conferma");
androidEmail.sendEmail();
publishProgress("Email Sent.");
Log.i("SendMailTask", "Mail Sent.");
} catch (Exception e) {
publishProgress(e.getMessage());
Log.e("SendMailTask", e.getMessage(), e);
}
return null;
}
@Override
public void onProgressUpdate(Object... values) {
statusDialog.setMessage(values[0].toString());
}
@Override
public void onPostExecute(Object result) {
statusDialog.dismiss();
}
}
在不使用片段的情况下,我在MainActivity中使用以下代码发送邮件
Without using fragments i use the following code in the MainActivity to send a mail
new SendMailTask(MainActivity.this).execute(fromEmail,
fromPassword, toEmailList, emailSubject, emailBody);
但是现在我需要使用Fragment,此时我得到一个错误:"MainActivity.this不是封闭类"
But now i need to use Fragment and i get an error at this point:"MainActivity.this its not an enclosing class"
我该如何解决此错误?
P.S .:对不起,我的英语不好:D
P.S.: Sorry for my bad english :D
推荐答案
更改以下代码
new SendMailTask(MainActivity.this).execute(fromEmail,
fromPassword, toEmailList, emailSubject, emailBody);
收件人
new SendMailTask(getActivity()).execute(fromEmail,
fromPassword, toEmailList, emailSubject, emailBody);
有关更多详细信息,请检查以下链接.
For more details you can check below link.
这篇关于从片段获取当前活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!