Tôi có Hoạt động chính của mình với một đoạn, trong đó có một Recyclerview retreaving tất cả các dữ liệu dân cư từ cơ sở dữ liệu. Trong đoạn này, tôi có một nút gọi một hoạt động khác để chèn một đối tượng vào cơ sở dữ liệu.Làm mới Recyclerview từ Hoạt động
Sự cố là khi Hoạt động kết thúc và quay lại Hoạt động chính Recyclerview không hiển thị mục mới mà tôi vừa tạo. Tôi đã thử với đoạn mã này:
@Override
public void onResume() {
super.onResume();
adapterItem.addItem(MyApplication.getWritableDatabase().getAllItems());
listProjectsView.scrollToPosition(0);
}
Hàm getAllItems lấy tất cả dữ liệu từ sqlite.
On adapterItem tôi từ Recyclerview của tôi, tôi nhận điều này:
public void addItem(ArrayList<Item> listItems) {
this.listItems = listItems;
notifyItemInserted(0);
}
Nó hoạt động "tốt". Vấn đề chính là khi tôi chuyển sang ứng dụng khác đang chạy trên thiết bị di động và tôi quay lại ứng dụng đã phát triển của mình, phương pháp onResume bật và hiển thị lại lần chèn cuối cùng của tôi, điền hai lần mục này (và cứ tiếp tục nếu tôi làm lại) .
Cảm ơn
sử dụng onRestart insted của onResume –
sử dụng phải thực hiện 'HashSet' đó sẽ loại trừ các yếu tố trùng lặp –