2014-10-22 4 views
1

У меня есть фрагмент в моей главной активности с ListView, содержимое которого просматривается из базы данных. Метод getUpdates() получает данные из базы данных, а затем эти данные применяются к ListView.Обновление фрагмента андроида после возобновления

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    ... 
    ... 
    getUpdates(); 
    View v = inflater.inflate(R.layout.fragment_test_list, container , false); 
    ListView lv = (ListView) v.findViewById(R.id.testListView); 
    ... 
    return v; 
} 

Когда другая активность запущена база данных изменяются, но когда деятельность закрыта и MainActivity возобновляют я вижу наклоняю обновление в фрагменте. Поэтому метод onCreateView не вызывается. Но мне нужно обновить представление фрагмента в методе onResume(). Как я могу это сделать? Или, если есть еще один более эффективный способ использования слушателей, пожалуйста, дайте мне знать.

ответ

1

Ваши фрагменты, которые полагаются на эти события, могут реализовывать интерфейс, который может вызывать ваша деятельность (или вы можете иметь базовый фрагмент, который обеспечивает переопределяемую функцию). Когда ваша активность должна инициировать обновление на вашем фрагменте, просто вызовите функцию и обработайте ее во Фрагменте.

Вы можете сделать это с помощью трансляций, но это кажется немного излишним, если уведомления не поступают из службы.

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