NotifyDataSetChanged для другого фрагмента - PullRequest
0 голосов
/ 17 мая 2018

Я использую поток Master / Detail (не по умолчанию), поэтому у меня есть один fragment, который содержит материал RecyclerView, и когда я нажимаю на элемент, который я вижу на другом fragment, Деталь этого элемента, он работает, но теперь я хочу удалить этот элемент из фрагмента детали, и когда я нажимаю на удалить, он обновляется, а затем notifydatasetchange.

В чем проблема? У меня есть Адаптер в моем ListFragment и в моем DetailFragment. Я могу только удалить элемент из своего SQLite, я хочу обновить список.

Активность - Где я создаю список фрагмента

Fragment1 - ListFragment (RecyclerView, Adapter, Sqlite (для выборочных продуктов))

Fragment2 - DetailFragment (Sqlite (чтобы удалить элемент))

Активность

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity);
    if(savedInstanceState == null){
        Fragment list = new ListFragment();
        FragmentManager fragmentManager = getSupportFragmentManager();
        fragmentManager.beginTransaction().add(R.id.list,list).commit();
    }
}

На моем ListFragment У меня есть эти атрибуты

private SQLiteAdapter sqliteAdapter;
private Context mContext;
private Adapter adapter;
private RecyclerView recyclerView;
private List<Product> data;

Затем я помещаю данные методом, который открывает sqliteAdapter, а затем извлекает все продукты и затем закрывает соединение.

В моем DetailFragment у меня есть объект SQLite, чтобы получить продукт, отправленный с адаптера (идентификатор продукта), а затем показать информацию об этом продукте. Теперь я могу удалить объект, но он не обновляется из ListFragment, мне интересно, куда поместить этот объект SQLite в Activity или в обоих фрагментах - нормально

1 Ответ

0 голосов
/ 17 мая 2018

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

...