gpt4 book ai didi

android - 滚动 ListView 时出现错误的 'convertView' 对象

转载 作者:行者123 更新时间:2023-11-30 02:46:43 25 4
gpt4 key购买 nike

我的问题是,当我滚动 ListView 时,我得到了错误的 convertView,但位置是正确的。

我的 Listview 中有 3 个项目,在加载时使用索引 '0' 调用“position”参数并且 convertView 为 null

当我一个一个滚动到下一个项目时,'position' 是 '1' 并且 convertView 也是 null

问题出在第 3 项上,“位置”是 “2” 但“convertView”是非空,它由第一个填充item convertView.

这是为什么?

 public View getView(final int position, View convertView, ViewGroup parent) {
View itemView = convertView;
if (itemView == null) {
itemView = getLayoutInflater().inflate(R.layout.post_layout, parent, false);

postViewHolder = new PostViewHolder();
postViewHolder.commentsImageButton = (ImageButton) itemView.findViewById(R.id.postAddCommentsImageButton);

itemView.setTag(postViewHolder);
}else{
postViewHolder = (PostViewHolder) itemView.getTag();
}

最佳答案

你只会在你的 listView 中得到 N 个空项目,这个值 N 会根据你屏幕中输入的行数而改变。

例如,如果您的屏幕中有 3 行,则您可能会有 4 或 5 行项目。这是因为 Android 将旧 View 回收到新 View 中。

如果您需要跟踪持有人的位置,请将您的 postViewHolder.position 移出您的 if/else 语句。

希望对您有所帮助。

关于android - 滚动 ListView 时出现错误的 'convertView' 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24882578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com