2013-05-31 4 views
2

Прежде всего, я создаю noob для Android. Так любезно объясните все допущенные ошибки.Замена изображения после Asynctask

В моем приложении у меня есть фрагмент для отображения некоторых изображений. Другой класс, реализующий приложение, делает AsyncTask для получения XML-файла из Интернета, а затем получает URL-адреса изображений для изображений в фрагменте. Поскольку для этого требуется время, я установил образы изображений для отображения загружаемого изображения. Теперь, когда AsyncTask завершает работу, я хочу заменить эти изображения на изображения из xml, OnPostExecute().

[Я буду использовать SmartImageView или Android UniversalImageLoader библиотеки loopj, с тем скачать изображение не проблема я столкнулся]

Я не знаю, как передать переменную в этом фрагменте из этого класса Application или из другого индивидуальный класс в onPostExecute(). Пожалуйста, помогите мне здесь.

EDIT: используется метод LocalBroadcastReceiver? это единственный способ? Я не могу получить доступ напрямую?

ответ

1

Добавьте конструктор для вашей AsyncTask и передайте его в ваше изображение.

private class MyTask extends AsyncTask<Void, Void, Void> { 
    ImageView image; 

    private MyTask(ImageView image) { 
     this.image = image; 
    } 

и назвать его

MyTask task = new MyTask(imageView); 
+0

Спасибо за ответ. Но, как я уже говорил, мой AsyncTask находится в классе Application. и изображение имеет фрагмент. и я не знаю, когда асинтаза завершается, из фрагмента. Поэтому я не могу назвать это из фрагмента! –

+0

Если вы можете получить свою деятельность, вы можете использовать findFragmentByTag и найти свой фрагмент таким образом. вы можете создать интерфейс onMyTaskFinished и вернуться к onMyTaskFinished.onFinished() в onPostExecute() вашего MyTask. – r2DoesInc

+0

Как я могу получить свою активность над своим классом приложений? Я попытался передать «это» в качестве параметра. но затем я пытаюсь вызвать функцию mainActivity.onTaskFinished(), но не работает. что я делаю неправильно здесь? –

Смежные вопросы