Ludy
- Admin
- Forum-Beiträge: 7.958
16.05.2017, 21:28:32 via Website
16.05.2017 21:28:32 via Website
private int firstVisibleItemPosition;
private int visibleItemCount;
private int totalItemCount;
private int start = 0;
private int end = 20;
private void initRecyclerView() {
RecyclerView recyclerView = (RecyclerView) view.findViewById(R.id.recyclerView);
layoutManager = new LinearLayoutManager(getContext());
recyclerView.setLayoutManager(layoutManager);
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
if (dy > 0) {
visibleItemCount = layoutManager.getChildCount();
totalItemCount = layoutManager.getItemCount();
firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition();
if (end == totalItemCount && (firstVisibleItemPosition + visibleItemCount) == end) {
start = end;
end = end + 20;
new ApiReader(String.format("https://192.168.1.10/api/android/tutorial/?start=%d&end=%d", start, end), apiInterfaceSecond).execute();
}
}
}
});
new ApiReader(String.format("https://192.168.1.10/api/android/tutorial/?start=%d&end=%d", start, end), apiInterfaceFirst).execute();
}
private ApiInterface apiInterfaceFirst = new ApiInterface() {
@Override
public void getResult(ArrayList<String> arrayListString) {
adapter = new CustomAdapter(context, arrayListString);
recyclerView.setAdapter(adapter);
}
}
private ApiInterface apiInterfaceSecond = new ApiInterface() {
@Override
public void getResult(ArrayList<String> arrayListString) {
adapter.notifyData( arrayListString, recyclerView.getAdapter().getItemCount() - 1);
}
}
private interface ApiInterface {
void getResult(ArrayList<String> arrayListString);
}
Adapter Erweiterung
CustomAdapter#notifyData(ArrayList<String> arrayListString, int i) {
this.listString.addAll( arrayListString );
notifyDataSetChanged();
notifyItemInserted(i);
}
Gruß Ludy (App Entwickler)
✴
Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺
✴
☕ Buy Me A Coffee ☕
✴
Lebensmittelwarnung-App
✴
✨Meine Wunschliste✨
✴
📲Telegram NextPit News📲
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.