gpt4 book ai didi

android - 更新 Android 中的 ArrayAdapter

转载 作者:行者123 更新时间:2023-11-29 00:49:19 25 4
gpt4 key购买 nike

如何在不丢失滚动位置的情况下更新 ArrayAdapter

这就是我目前的做法。我在 ArrayAdapter 子类中创建了一个更新方法,它执行以下操作:

public void update(List<MyEntity> entities) {
for (MyEntity entity : entities) {
int position = this.getPosition(entity);
if (position >= 0) {
final MyEntity outdateEntity = this.getItem(position);
this.insert(entity, position);
this.remove(outdateEntity);
} else {
this.insert(entity, 0);
}
}
}

public int getPosition(MyEntity updatedEntity) {
for (int i = 0; i < this.getCount(); i++) {
if (this.getItem(i).getId() == updatedEntity.getId()) {
return i;
}
}
return -1;
}

但是,这似乎非常低效且容易出错。有没有更好的办法?

最佳答案

为什么不扩展 BaseAdapter首先?在那里你只需要在内部更新你的列表然后调用 notifyDataSetChanged() ...:-)

关于android - 更新 Android 中的 ArrayAdapter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4370612/

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