Как выполнить AsyncTask <>, расположенный в фрагменте из его родителя?

Это кажется сложнее, чем кажется, или я делаю это неправильно. Мне нужно обновить содержимое элементов пользовательского интерфейса в фрагменте.

Итак, в рамках Activity я AsyncTask задачу AsyncTask подобную этой

 new MyAsyncTask().execute(); 

Внутри «нормальной» Activity этот класс async является private поэтому я подумал, что могу сделать его public внутри класса фрагмента, а затем иметь возможность вызвать его из родительского класса FragmentActivity . Что-то вроде этого:

 MyFragment myFragment = (MyFragment) getSupportFragmentManager().findFragmentById(R.layout.my_fragment); new myFragment.DoParsingAsyncTask().execute(""); //??? a silly guess 

Это не сработало .

Может ли кто-нибудь помочь?

PS. Мои фрагменты не являются представлениями <fragment> в XML, но я имею дело с ними через ViewPager . У меня нет проблем с отображением страниц через ViewPager .
PPS. Этот класс async начинает анализировать удаленный контент и заполнять элементы пользовательского интерфейса в фрагменте.

Это может не решить проблему, но создать метод в вашем фрагменте и вызвать его для создания и запуска задачи async. Это будет просто более аккуратно. Вот код.

Из Fragment вызовите метод следующим образом.

 Activity myActivity = getActivity(); if (myActivity instanceof MyActivity) { ((MyActivity) myActivity).doAsyncTaskMethod(); } 

Или вы можете попробовать решение, которое я уже предложил.

 MyFragment myFragment = (MyFragment) getSupportFragmentManager().findFragmentById(R.layout.my_fragment); myFragment.new DoParsingAsyncTask().execute(""); 

Что тоже работает.

Intereting Posts
Oneplus One не найден в менеджере устройств Eclipse Geofences не работает, когда приложение убито Как настроить alljoyn sdk в Android? Ткань BETA обновлена, теперь я не могу установить мое приложение, ни BETA, ни Android Studio, ни apk Как я могу программно установить для параметра adjustViewBounds значение true в Android? RecyclerView: выделение выбранного элемента API Google Диска – имя не должно быть пустым: null (Но я передал действительное имя учетной записи в GoogleAccountCredential) Новая реликвия – java.io.IOException: существует файл TextToSpeech занимает слишком много времени, а synhesizeToFile в Android EditText в режиме прокрутки в android Улучшение частоты дискретизации магнитометра Android / уменьшение джиттера Проблема при преобразовании файла .docx в pdf в android Защищать HTTP-запрос от вызова другими пользователями SetShadowLayer вызывает медленное время рисования в GridView? Android: Как сравнить ресурс изображения с R.drawable.imagename?