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;
}
}