How to get items currently displayed in AdapterView?

后端 未结 2 584
日久生厌
日久生厌 2020-12-05 10:48

As in title: I would like to know how to get list (array) of all currently displayed items in my AdapterView.
Why? Objects that are displayed in my AdapterView require r

相关标签:
2条回答
  • 2020-12-05 11:22

    As small hint:

    If you want to get all elements which are fully visible ( --> expect those, who are on the bottom or top and are nearly out of screen) you should look at this post :

    See only fully visible ListView-Items

    0 讨论(0)
  • 2020-12-05 11:28

    implements OnScrollListener

    public class NewsCategoryDC extends Activity implements OnScrollListener {
    

    and set OnScrollListener in listView

    listView.setOnScrollListener(NewsCategoryDC.this);
    

    and you can get first and last visible rows

    @Override
    public void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount) {
        firstVisibleRow = listView.getFirstVisiblePosition();
                lastVisibleRow = listView.getLastVisiblePosition();
    /*Now you get the first and last visible rows, and you easily get the rows from first to last visible row and allocate resources to visible rows or deallocate resources to rows except visible rows..,.*/
    }
    
    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {}
    

    TRY THIS..,.

    and if some other best way you got please post, this is very useful and good question..,.

    Thanks..,.

    EDIT............................

    add code in onScroll() method

    @Override
    public void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount) {
        int firstVisibleRow = listView.getFirstVisiblePosition();
        int lastVisibleRow = listView.getLastVisiblePosition();
    
        for(int i=firstVisibleRow;i<=lastVisibleRow;i++)
        {
            //Write your code here(allocation/deallocation/store in array etc.)
            System.out.println(i + "=" + listView.getItemAtPosition(i));
        }
    }
    
    0 讨论(0)
提交回复
热议问题