У меня есть MainActivity
, SecondaryActivity
и класс AsyncTask
.
MainActivity имеет метод, называемый doSomething()
Позвоните по другому методу деятельности от AsyncTask
я называю AsyncTask из MainActivity так:
new asyncTask(MainActivity.this).execute();
Что означает, что я могу сослаться на MainActivity в моем onPostExecute
@Override
protected void onPostExecute(Boolean result){
super.onPostExecute(result);
# activity is defined as this.activity
activity.doSomething();
}
Как я могу назвать AsyncTask из моей SecondaryActivity аналогичным образом, потому что мне нужна ссылка на мою MainActivity для доступа к его методам?
EDIT: Я бы хотел, чтобы doSomething()
вызывался в любое время. Так что даже если это из SecondActivity, после завершения его фоновой операции -> doSomething()
Метод, который я вызываю, обновляет экран MainActivity для отображения изменений данных. Вторичная активность вызывает только AsyncTask, когда она приостанавливается/останавливается/уничтожается, но в настоящее время Asynctask заканчивается после запуска MainActivity и поэтому изменения не отображаются.
Трудно понять ваш вопрос. Мое предположение: у вас есть класс MainActivity, SecondaryActivity и UpsertTask, который расширяет AsyncTask. Теперь вы хотите использовать UpsertTask в обоих действиях, но вызывать разные методы в зависимости от класса вызывающего. Я прав?? – Tony
@Tony Это точно правильно – Lobstw