2017-01-26 4 views
-2

Краткой: Я ищу способ, чтобы обновить представление в деятельности от фрагмента, что активность содержит.Android - как обновить вид деятельности из фрагмента, содержащийся в деятельности

Подробно: У меня есть фрагмент и активность, который содержит фрагмент. В операции есть ящик для навигации, а ящик навигации содержит изображение. Я пытаюсь обновить представление изображения в ящике навигации, когда запрос HTTP GET возвращает ответ от фрагмента; ответ содержит URL-адрес, в котором загрузчик изображений анализирует изображение для изображения в ящике навигации.

Учитывая это, я пытаюсь получить экземпляр представления в действии из фрагмента, но я не уверен, как это сделать. Даже, я не уверен, что я нахожусь в правильном направлении ...

Буду признателен за любые входные данные.

С уважением, вид

+0

Вы можете сделать это в своем классе 'FragmentDrawer'. если у вас есть. как [ЗДЕСЬ] (http://www.androidhive.info/2013/11/android-sliding-menu-using-navigation-drawer/) –

ответ

4

Создание интерфейса:

public interface mInterface{ 

    public void updateIMG(String url); 

} 

реализует этот интерфейс в вашей деятельности и Перекрыть updateIMG() метод.

Внутри вашего фрагмента, что вам нужно, чтобы позвонить updateIMG(), просто инициируйте интерфейс и вызовите метод.

mInterface listener = (mInterface)getActivity(); 
listener.updateIMG(url); 

Тогда вы вызываете этот метод интерфейса, он будет запускать код внутри переопределенного метода внутри действия.


В случае, если вы получаете только оригинальный поток, который создал иерархию вида может коснуться его точки зрения., try.

0

Declare общедоступными, которые вы хотите обновить, а затем вы можете получить доступ к этому виду из фрагмента и можете обновлять оттуда

0

Вы можете использовать LocalBroadCast отправить трансляцию из Fragment когда это и затем принять трансляцию в Activity и внести изменения.

Вы также можете использовать связь Activity, Fragment через interface. Обратитесь к этому link, чтобы реализовать его.

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