in ContentProviderPaging/app/src/main/java/com/example/android/contentproviderpaging/ImageClientFragment.java [79:118]
public void onViewCreated(View rootView, @Nullable Bundle savedInstanceState) {
super.onViewCreated(rootView, savedInstanceState);
final Activity activity = getActivity();
RecyclerView recyclerView = (RecyclerView) activity.findViewById(R.id.recyclerview);
if (mLayoutManager == null) {
mLayoutManager = new LinearLayoutManager(activity);
}
recyclerView.setLayoutManager(mLayoutManager);
if (mAdapter == null) {
mAdapter = new ImageAdapter(activity);
}
recyclerView.setAdapter(mAdapter);
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
int lastVisiblePosition = mLayoutManager.findLastVisibleItemPosition();
if (lastVisiblePosition >= mAdapter.getFetchedItemCount()) {
Log.d(TAG,
"Fetch new images. LastVisiblePosition: " + lastVisiblePosition
+ ", NonEmptyItemCount: " + mAdapter.getFetchedItemCount());
int pageId = lastVisiblePosition / LIMIT;
// Fetch new images once the last fetched item becomes visible
activity.getLoaderManager()
.restartLoader(pageId, null, mLoaderCallback);
}
}
});
final Button showButton = rootView.findViewById(R.id.button_show);
showButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
activity.getLoaderManager().restartLoader(0, null, mLoaderCallback);
showButton.setVisibility(View.GONE);
}
});
}