android - 如何使 ListView 一次滚动一行

标签 android listview

我通过扩展 BaseAdapter 使用自定义 ListView 。每行有一个图像并占据 ListView 高度的 50%,这就是我的 ListView 一次显示两行的方式。 我想要的是,当我缓慢或快速滚动时,无论多慢或多快, ListView 都应该只滚动一个项目而不应该显示半行......

我尝试的是使用 smoothScrollTo(int) 但它没有解决我的问题。在平滑滚动的情况下,它仍然会抖动。

我的目标 sdk 版本是 7。

最佳答案

一点一点地走:

mList.setOnScrollListener(new OnScrollListener() {
        public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {}

        public void onScrollStateChanged(AbsListView view, int scrollState) {
            if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) 
            {                   
                mList.getRefreshableView().setSelection(mList.getRefreshableView().getFirstVisiblePosition()+1);
            }
        }
    });

关于android - 如何使 ListView 一次滚动一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8475598/

相关文章:

android - 内容必须有 ListView 其 id artibute 是 'android.R.id.list'

JavaFx ListView 不显示文本,但在 cellFactory 之后工作

android - 更新数据库后更新listView?

java - 唤醒锁只工作一次

android - Cordova/Phonegap 文件传输插件

android - 为什么 getNetworkOperator 对于 CDMA 不可靠?

android - 没有发现类定义错误 (android)

android - 使用 android Handler 时如何解决有关内存泄漏的警告?

java - 如何更改数组列表的每个字符串元素?

listview - Flutter:使用来自 Firestore 的多集合流创建动态更新的 DataTable