【发布时间】:2019-05-12 22:19:01
【问题描述】:
我打开了两个 Android Studio 项目。一个是实际应用程序,另一个是测试项目。在测试项目中,我在 MainActivity.java 中使用了这段代码,它运行良好。现在,当我尝试将其转移到我的实际应用项目时,它不起作用。可能是因为代码在片段类而不是 MainActivity 中。
这是我正在谈论的代码:
private class SendMailTask extends AsyncTask<Message, Void, Void> {
private ProgressDialog progressDialog;
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog = ProgressDialog.show(MainActivity.this, "Please wait", "Sending mail", true, false);
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
progressDialog.dismiss();
}
@Override
protected Void doInBackground(Message... messages) {
try {
Transport.send(messages[0]);
} catch (MessagingException e) {
e.printStackTrace();
}
return null;
}
}
它所做的只是在屏幕上显示“正在发送电子邮件”消息。如果需要,我不确定是否应该复制整个课程,所以请告诉我是否需要。
错误显示在这一行:
progressDialog = ProgressDialog.show(MainActivity.this, "Please wait", "Sending mail", true, false);
它说:'com.example.private.privateprivate.MainActivity' 不是封闭类'。
我不确定该怎么做,因为如果我输入 MainFragment.this,它会给出错误并说:'错误的第一个参数类型。找到:'com.example.private.privateprivate.MainFragment',需要:'android.content.Context'
【问题讨论】:
标签: java android android-studio android-fragments main-activity