Reputation: 2623
I am having listview items more than 500 products. I need to retrieve limit of data 50 . Whenever I scroll,list has to be loaded to next 50 items.
Your answer is more appreciated. Thanks in advance.
Upvotes: 0
Views: 621
Reputation: 4570
Try this code :-
public class EndlessListView extends ListActivity implements AbsListView.OnScrollListener {
EndlessAdapter adapter = new EndlessAdapter();
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(adapter);
getListView().setOnScrollListener(this);
}
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
boolean loadMore = firstVisibleItem + visibleItemCount >= totalItemCount;
if (loadMore) {
adapter.count += visibleItemCount; // or any other amount
adapter.notifyDataSetChanged();
}
}
class EndlessAdapter extends BaseAdapter {
int count = 50; /* starting amount */
public int getCount() {
return count;
}
public Object getItem(int pos) {
return pos;
}
public long getItemId(int pos) {
return pos;
}
public View getView(int pos, View v, ViewGroup p) {
TextView view = new TextView(EndlessListView.this);
view.setText(String.format("entry %d", pos));
return view;
}
}
}
Upvotes: 5