Parama Sudha
Parama Sudha

Reputation: 2623

ListView Dynamic loading & retrieving data from server

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

Answers (1)

Mahesh Babariya
Mahesh Babariya

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

Related Questions