如何使ListView的第一个可见元素与其他布局不同.
我已经创建了一个带有2种不同布局的自定义适配器.现在,当项目进入第一个位置时,如何使布局更改?
解决方法
要获得具有不同布局的列表视图的第一个项目,可以使用以下代码.但是当列表中的项目小于可见项目的数量时,列表视图不会移动.
list.setOnScrollListener(new OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view,int scrollState) { // TODO Auto-generated method stub } @Override public void onScroll(AbsListView view,int firstVisibleItem,int visibleItemCount,int totalItemCount) { // TODO Auto-generated method stub if(firstItem != firstVisibleItem) { firstItem = firstVisibleItem; adapter.notifyDataSetChanged(); } } });
并且在适配器类内部检查位置是否与firstItem相同,如果它等于显示detals布局.