У меня открыто два проекта 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, он выдаст ошибку и скажет: «Неверный 1-й тип аргумента.Найдено: 'com.example.private.privateprivate.MainFragment', обязательно: 'android.content.Context'