package com.iamtheib.infiniterecyclerview.demo;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import com.iamtheib.infiniterecyclerview.InfiniteAdapter;
import com.iamtheib.infiniterecyclerview.demo.adapter.SampleAdapter;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
RecyclerView dummyRV;
SampleAdapter mSampleAdapter;
ArrayList<String> mDummyData;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDummyData = new ArrayList<>();
setupDummyData();
mSampleAdapter = new SampleAdapter(this, mDummyData);
dummyRV = (RecyclerView) findViewById(R.id.dummy_rv);
dummyRV.setHasFixedSize(true);
dummyRV.setAdapter(mSampleAdapter);
dummyRV.setLayoutManager(new LinearLayoutManager(this));
mSampleAdapter.setOnLoadMoreListener(mLoadMoreListener);
}
private InfiniteAdapter.OnLoadMoreListener mLoadMoreListener = new InfiniteAdapter.OnLoadMoreListener() {
@Override
public void onLoadMore() {
Log.v("Main", "Load more fired");
final int currSize = mDummyData.size();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
addMoreData();
mSampleAdapter.moreDataLoaded(currSize, mDummyData.size() - currSize);
mSampleAdapter.setShouldLoadMore(false);
}
}, 5000);
}
};
private void setupDummyData() {
mDummyData.add("Text 1");
mDummyData.add("Text 2");
mDummyData.add("Text 3");
mDummyData.add("Text 4");
mDummyData.add("Text 5");
mDummyData.add("Text 6");
mDummyData.add("Text 7");
mDummyData.add("Text 8");
mDummyData.add("Text 9");
mDummyData.add("Text 11");
mDummyData.add("Text 12");
mDummyData.add("Text 13");
mDummyData.add("Text 14");
mDummyData.add("Text 15");
}
private void addMoreData() {
mDummyData.add("Text 16");
mDummyData.add("Text 17");
mDummyData.add("Text 18");
mDummyData.add("Text 19");
mDummyData.add("Text 20");
mDummyData.add("Text 21");
mDummyData.add("Text 22");
mDummyData.add("Text 23");
mDummyData.add("Text 24");
mDummyData.add("Text 25");
}
}