如何知道用户在listView中查看/滚动了多少元素

时间:2012-04-25 22:11:35

标签: android

我要求我需要显示带有'N'元素的自定义ListView(ListView的大小可能会有所不同)。我需要显示用户从Listview中查看/滚动的元素数量......

我的要求是向用户显示用户尚未查看的列表项数量。

请让我知道如何获得元素......

2 个答案:

答案 0 :(得分:0)

您可以使用listView.getLastVisiblePosition(),它会告诉您ListView中最底部可见项目的位置。

答案 1 :(得分:0)

// class members
private TextView textView;
private in maxViewed = 0;

// in your onCreate method   
// find pointer to where you are displaying to user how many items he's viewed
textView = (TextView)findViewById(R.id.textView); // make sure to make this item in your layout

// make the scroll listener for the listview
listView.setOnScrollListener(new OnScrollListener(){

    public void onScroll(AbsListView view, int firstVisibleItem,
            int visibleItemCount, int totalItemCount) { 
    }

    public void onScrollStateChanged(AbsListView view, int scrollState) {   
        // keep track of how many items we've viewed         
        maxViewed = Math.max(maxViewed, listView.getLastVisiblePosition());
        textView.setText(String.valueOf(maxViewed));
    }

});