我怎样才能使第一个可见元素与其他元素ListView
不同layout
。
我创建了一个具有 2 种不同布局的自定义适配器。现在,当项目第一次出现时,我该如何进行layout
更改position
?
我怎样才能使第一个可见元素与其他元素ListView
不同layout
。
我创建了一个具有 2 种不同布局的自定义适配器。现在,当项目第一次出现时,我该如何进行layout
更改position
?
要获得具有不同布局的列表视图的第一项,可以使用以下代码。但是当列表中的项目少于可见项目的数量时,列表视图不会移动。
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
然后显示细节布局。
尝试这个
int visibleposition = ListView.getFirstVisiblePosition();
现在对于这个特定位置,像这样更改列表项的背景
在 getView() 中,您可能会为不同的位置膨胀不同的布局。做类似的事情
if(position==0){
inflate(first_layout);
else{
inflate(other_layout);