gpt4 book ai didi

android - 为什么不能在adapter.insert()方法中传递list的对象呢?

转载 作者:可可西里 更新时间:2023-11-01 11:41:39 26 4
gpt4 key购买 nike

我有一个关于 adapter.addAll() 的问题我已经解决的方法。但我的困惑仍然存在:

adapter.addAll()我可以通过 objectList其数据类型不同于adapter对象,像这样:

adapter.addAll(messageList);

但是如果我通过使用 adapter.insert() 来做同样的事情方法,我开始收到错误,Wrong 1st argument type. required....... ,像这样:

adapter.insert(messageList, 0);

我知道我面临的问题可以通过两种方式解决:

首先:从列表中添加一个项目,然后调用 adapter.notifyDataSetChanged()作为Daniel Zolnai是这样回答的:

int offset = 0;
for (Message message : messageList) {
adapter.insert(message, offset++);
}
adapter.notifyDataSetChanged()

其次:将新项目添加到列表中,然后调用 adapter.notifyDataSetChanged()像这样:

for (int i = messageListLoad.size() - 1; i >= 0; i--) {
messageList.add(0, messageListLoad.get(i));
}
adapter.notifyDataSetChanged()

但为什么我们不能通过 objectListadapter.insert()方法?

最佳答案

没有 API,但这并不意味着它不能完成。您只需一个接一个地插入您的对象:

int offset = 0;
for (Message message : messageList) {
adapter.insert(message, offset++);
}

这会将您的列表插入到您的 ArrayAdapter 中现有列表的开头。

不要忘记在之后调用 notifyDataSetChanged()

关于android - 为什么不能在adapter.insert()方法中传递list的对象呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35955506/

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