我正在为RecyclerView
. 当软件检测到要显示最后一个项目时,它会下载新项目并调用以下函数(在主线程中运行):
int visibleItemCount = numberOfItemsPerRow;
int pastVisiblesItems = ((GridLayoutManager)recyclerView.getLayoutManager()).findLastVisibleItemPosition();
int totalItemCount = mLayoutManager.getItemCount();
if (loading) {
if ((visibleItemCount+pastVisiblesItems) >= totalItemCount) {
.
.
.
//After downloading data
loading = false;
getActivity().runOnUiThread(new Runnable() {
public void run() {
mAdapter.notifyDataSetChanged();
}
});
}
但是,如果我快速滚动并在接收新数据之前显示最后一项,notifyDataSetChanged()
则不起作用。只有当我再次上下滚动以强制呈现新数据时,才会显示这些新数据。
关于什么是错的任何想法?