android - 具有不同布局的第一个可见项目的 ListView

标签 android android-listview

如何使 ListView 的第一个可见元素具有与其他元素不同的 layout

the first cell have a description

when is list is scrolled and 2nd cell is at first position the description of the 2nd cell is shown

我创建了一个具有 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/

相关文章:

android - 在不知道其名称的情况下启动当前应用程序的主要 Activity

android - 关于ListView代码

android - ImageView 和 Listview - Android

android - 过滤 ListView 并获得正确的 onclick 项目

java - 没有找到适合 makeText 的方法

android - Espresso - 为什么 Espresso 发现这个匹配项不明确?

java - 如何在 Canvas 上一张一张地绘制多个图像,就像带有淡入和淡出动画的幻灯片一样

android - 如何创建这样的 ListView? (交通柜台)

android - CardView 和 RecyclerView 分隔符行为

android - android 的事件监听器是如何工作的?