Skip to content

Instantly share code, notes, and snippets.

private void initForViewPager() {
viewPager.addOnPageChangeListener(new OnPageChangeListener() {
@Override public void onPageSelected(int position) {
// check if new data should be loaded
}
});
}
private void onPositionAttached(int position) {
// track positions, on scroll up do nothing.
if (position < lastAttachedItem) {
return;
}
// do nothing if all the data already loaded.
if (completed) {
return;
private void initRecyclerView() {
recyclerView.addOnChildAttachStateChangeListener(new OnChildAttachStateChangeListener() {
@Override public void onChildViewAttachedToWindow(View view) {
int position = layoutManager.findLastVisibleItemPosition();
onPositionAttached(position);
}
});
}
public final class DataProvider {
private static final Gson GSON = new Gson();
public static ReviewResponse loadPage(int page) {
switch (page) {
case 1:
return getFirstPage();
case 2:
public class Review {
private long id;
private String title;
private String content;
private String author;
public long getId() {
return id;
}
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
private RecyclerView recyclerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.RecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />