I was following this page Adding items to Endless Scroll RecyclerView with ProgressBar at bottom and I think I did everything right, but for some reason I get back on this line onLoadMoreListener.onLoadMore();
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.os.Handler.postDelayed(java.lang.Runnable, long)' on a null object reference
I know that there are a lot of posts regarding the null pointer error, but that line is in a if statement and it shouldn't be executed if it's null.
if (onLoadMoreListener != null) {
onLoadMoreListener.onLoadMore();
}
Why is this happening ? What code should I post to help figuring out the problem ?
mAdapter.setOnLoadMoreListener(new MyAdapter.OnLoadMoreListener() {
@Override
public void onLoadMore() {
//add progress item
myDataset.add(null);
mAdapter.notifyItemInserted(myDataset.size() - 1);
handler.postDelayed(new Runnable() {
@Override
public void run() {
//remove progress item
myDataset.remove(myDataset.size() - 1);
mAdapter.notifyItemRemoved(myDataset.size());
MyRecyclerItems gridItem= new MyRecyclerItems();
gridItem.setAbout("Test");
gridItem.setEmail("tesssst@gmail.com");
myDataset.add(0,gridItem);
mAdapter.notifyItemInserted(myDataset.size());
mAdapter.setLoaded();
}
}, 2000);
System.out.println("load");
}
});
Best Answer
This error means handler is null.
Just initialize handler object before calling post method like this: