如何使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布局.