2016-02-06 3 views
2

вот моя проблема. У меня есть активность, содержащая два фрагмента. Фрагмент A имеет listview, а Fragment B отвечает за обновление базы данных, теперь я не знаю, как обновлять данные в listview внутри фрагмента. Право сразу после обновления данных в базе данных из фрагмента B. Можете ли вы мне помочь и дать образец код для этого? Большое спасибо.Обновление списка через фрагменты

+1

Простой. Вы можете сделать слушатель и зарегистрировать свой фрагмент B, и результат будет отображаться в вашем фрагменте A. Или вы также должны использовать Event Bus. – Piyush

+0

Вы читали документы http://developer.android.com/training/basics/fragments/communicating.html – Raghunandan

+0

спасибо, что ответившие ребята стараются понять этот образец в документах. –

ответ

3

В этом примере уведомление FragmentA об уведомлении.

INotifier

public interface INotifier { 
    public void notify(Object data); 
} 

Utils

public class Utils { 
    public static INotifier notifier; 
} 

Fragmenta

public FragmentA extends Fragment { 

    public void onCreateView(...) { 

    } 

    public void inSomeMethod() { 
     if (Utils.notifier != null) { 
      Utils.notifier.notify(data); 
     } 
    } 
} 

FragmentB

public FragmentB extends Fragment implements INotifier { 

    public void onCreateView(...) { 
     Utils.notifier = this; 
    } 

    @Override 
    public void notify(Object data) { 
     // handle data 
    } 
} 
Смежные вопросы