0

我有自己的Adapter扩展名BaseAdapter。我需要知道当Adapter用户滚动到它时,用户屏幕上何时显示最新的元素。请指教。

4

3 回答 3

0

您可以覆盖元素视图中的 onDraw() 方法。当 onDraw() 被调用时,你知道元素在屏幕上。设计方面,您可以在每个元素的视图中都有一个观察者。适配器将自己(或不同的客户端)注册为最后/最新元素视图的观察者。当视图被绘制时,它会通知观察者。

于 2012-12-03T15:24:35.840 回答
0

尝试这个...

adapter.notifyDataSetChanged();

它将刷新您的适配器,通知是否有任何更改..

于 2012-12-03T15:28:46.067 回答
0

检查下面的代码:

listView.setOnScrollListener(new OnScrollListener() {
        // ...

        @Override
        public void onScroll(AbsListView view, int firstVisibleItem,
                int visibleItemCount, int totalItemCount) {             
            boolean isLastRowShown = view.getLastVisiblePosition() == (view.getAdapter().getCount() - 1);
        }
    });
于 2012-12-03T15:28:47.243 回答