SizzlingSkizzorsProgrammer wrote: > After the listview is already initialized, is it possible to add items > to it during runtime? Just add the new items to the adapter, or the data source that backs up the adapter (if it's a CursorAdapter).
Android Endless List - Stack Overflow - 0 views
-
5 down vote accepted One solution is to implement an OnScrollListener and make changes (like adding items, etc.) to the ListAdapter at a convenient state in its onScrollStateChanged method. The following ListActivity shows a list of integers, starting with 40, adding 10 per scroll-stop.
-
public class Test extends ListActivity implements OnScrollListener { Aleph0 adapter = new Aleph0(); protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setListAdapter(adapter); getListView().setOnScrollListener(this); } public void onScroll(AbsListView v, int i, int j, int k) { } public void onScrollStateChanged(AbsListView v, int state) { if(state == OnScrollListener.SCROLL_STATE_IDLE) { adapter.count += 10; adapter.notifyDataSetChanged(); } } class Aleph0 extends BaseAdapter { int count = 40; 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(Test.this); view.setText("entry " + pos); return view; } }}
-
You should obviously use separate threads for long running actions (like loading web-data) and might want to indicate progress in the last list item (like the market or gmail apps do).
ListView/ListActivity limit items until last item reached, like in Android Market - And... - 0 views
-
These applications use an OnScrollListener to detect when the last item is displayed. When this happens, they load more items and add them to the list adapter.
1 - 4 of 4
Showing 20▼ items per page