notifyDataSetChanged после изменения конфигурации

Я делаю некоторые тесты после изменения конфигурации устройства (изменение языка, ориентации и т. Д.), И я замечаю, что после этого метод notifyDataSetChanged () не работает.

Пример действия:

Я вызываю updateList () каждый раз, когда я выполняю действие, такое как удаление, сохранение и т. Д. Пользователь нажимает кнопку удаления, отображается фрагмент DialogFragment «Вы уверены, что хотите удалить?», Когда я изменяю ориентацию или языком или любой конфигурацией устройства, а затем нажмите «Да» в диалоговом окне, данные будут удалены, но список не обновится. Мне нужно выйти из игры, а затем вернуться, чтобы увидеть изменения.

BookAdapter:

public void updateList(ArrayList<Book> books) {
     bookList = books;
     notifyDataSetChanged();
}

Что я могу сделать, чтобы он работал после изменения конфигурации?

Редактировать:

Конструктор BookAdapter:

public BookAdapter(Context c, ArrayList<Book> books) {
    context = c;
    bookList = books
    bookDAO = BookDAO.getInstance(context);
}

BookFragment:

public class BookFragment extends Fragment {

    private BookDAO bookDAO;

    private BookAdapter bookAdapter;

    private ListView listBook;

    private View view;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        bookDAO = bookDAO.getInstance(getActivity());

        view = inflater.inflate(R.layout.book_tab, container, false);

        ArrayList<Book> listBook = null;

        try {
            llistBook = bookDAO.getAll();
        } catch (Exception e) {
            Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_LONG).show();
            return view;
        }

        bookAdapter = new BookAdapter(getActivity(), listBook);
        listBook = (ListView)view.findViewById(R.id.listBook);
        listBook.setAdapter(bookAdapter);

        return view;

    }

}

Ответы на вопрос(6)

Ваш ответ на вопрос