[英]notifyDataSetChanged in setOnClickListener RecyclerView Adapter
如何在適配器中的Recylerview
之后更新Recylerview
bDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Boolean succes = dbDatasource.delete_ayat_bookmark((qurans.get(position).getnSurat()), qurans.get(position).getnAyat());
if (succes) {
Message message = new Message();
message.pesan_surat_ayat(context, "hapus", (qurans.get(position).getnSurat() + 1), qurans.get(position).getnAyat());
adapter.notifyDataSetChanged();
dialog.dismiss();
}
}
});
日志貓:
Process: com.ideabrains.alquranindonesia, PID: 17401
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView$Adapter.notifyItemRemoved(int)' on a null object reference
at com.ideabrains.alquranindonesia.Bookmark_Adapter$1$4.onClick(Bookmark_Adapter.java:187)
at android.view.View.performClick(View.java:5637)
適配器為空,如何在RecyclerView
適配器中獲取適配器?
在設置 notifyDataSetChanged() 之前,確認適配器已初始化並將適配器設置為RecyclerView
。
然后,檢查此代碼
if(adapter!=null){
adapter.notifyDataSetChanged();
}
從谷歌開發者網站查看此文檔
https://developer.android.com/reference/android/support/v7/widget/RecyclerView.html#getAdapter()
我認為你應該在調用 notifyDataSetChanged() 之前確認適配器不為空
您需要檢查您的適配器是否為空,然后執行 notifyDataSetChanged();
您可以創建列表適配器類的適配器對象並在您的活動開始時將數據傳遞給它,然后 onclicklistener 只需添加這個
if(adapter!=null)
{
adapter.notifyDataSetChanged();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.