gpt4 book ai didi

android - 如何在android中加载Listview "smoothly"

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:55:46 27 4
gpt4 key购买 nike

我将数据从 Cursor 加载到 ListView ,但我的 ListView 并没有真正显示“平滑”。当我在 ListView 的 scollbar 上上下拖动时,数据会发生变化。有些项目在我的列表中看起来像是重复显示。我有一个“复杂的 ListView”(两个 TextView ,一个 ImageView )所以我使用 newView()、bindView() 来显示数据。有人可以帮助我吗?

最佳答案

我将向您描述如何解决您遇到的此类问题。可能这会对您有所帮助。

所以,在列表适配器中你有这样的代码:

public View getView(int position, View contentView, ViewGroup arg2)
{
ViewHolder holder;

if (contentView == null) {
holder = new ViewHolder();
contentView = inflater.inflate(R.layout.my_magic_list,null);
holder.label = (TextView) contentView.findViewById(R.id.label);
contentView.setTag(holder);
} else {
holder = (ViewHolder) contentView.getTag();
}

holder.label.setText(getLabel());

return contentView;
}

如您所见,我们仅在检索到 holder 后才设置列表项值。

但是如果你将代码移到上面的 if 语句中:

holder.label.setText(getLabel());

所以它会像下面这样处理:

if (contentView == null) {
holder = new ViewHolder();
contentView = inflater.inflate(R.layout.my_magic_list,null);
holder.label = (TextView) contentView.findViewById(R.id.label);
holder.label.setText(getLabel());
contentView.setTag(holder);
}

您的当前应用程序行为将与列表项重复。

可能会有帮助。

关于android - 如何在android中加载Listview "smoothly",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1320478/

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