如何使 ListView
的第一个可见元素具有与其他元素不同的 layout
。
我创建了一个具有 2 种不同布局的自定义适配器。现在,当项目出现在第一个 position
时,如何更改 layout
?
最佳答案
要获取具有不同布局的 ListView 的第一项,可以使用以下代码。但是当列表中的项目少于可见项目的数量时, ListView 不会移动。
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();
}
}
});
并在适配器类内部检查 postion
是否与 firstItem
相同,如果相等则显示 detals 布局。
关于android - 具有不同布局的第一个可见项目的 ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14520331/