gpt4 book ai didi

android - 如果对象是不同的数据类型,如何在 ArrayAdapter 列表的开头添加对象?

转载 作者:行者123 更新时间:2023-11-29 01:22:43 25 4
gpt4 key购买 nike

我只是检查这个SO链接以在适配器顶部添加对象。

这是我发现要在适配器顶部添加对象的代码:

yourAdapter.insert(object, 0);

但在我的例子中,对象的数据类型与适配器的数据类型不同。所以我收到以下错误:

第一个参数类型错误。必填.......

所以我决定转换对象然后尝试插入:

adapter.insert((OneOnOneMessage)messageList, 0);

但我运气不好,开始出现以下运行时错误:

03-08 14:55:43.933 6358-6358/com.dayoptions.chat W/System.err: java.lang.ClassCastException: java.util.ArrayList cannot be cast to com.mics.models.OneOnOneMessage
03-08 14:55:43.933 6358-6358/com.dayoptions.chat W/System.err: at com.mics.activities.SingleChatActivity$2.onClick(SingleChatActivity.java:283)
03-08 14:55:43.933 6358-6358/com.dayoptions.chat W/System.err: at android.view.View.performClick(View.java:4448)
03-08 14:55:43.933 6358-6358/com.dayoptions.chat W/System.err: at android.view.View$PerformClick.run(View.java:18461)
03-08 14:55:43.933 6358-6358/com.dayoptions.chat W/System.err: at android.os.Handler.handleCallback(Handler.java:733)
03-08 14:55:43.933 6358-6358/com.dayoptions.chat W/System.err: at android.os.Handler.dispatchMessage(Handler.java:95)
03-08 14:55:43.933 6358-6358/com.dayoptions.chat W/System.err: at android.os.Looper.loop(Looper.java:136)
03-08 14:55:43.933 6358-6358/com.dayoptions.chat W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5072)
03-08 14:55:43.933 6358-6358/com.dayoptions.chat W/System.err: at java.lang.reflect.Method.invokeNative(Native Method)
03-08 14:55:43.933 6358-6358/com.dayoptions.chat W/System.err: at java.lang.reflect.Method.invoke(Method.java:515)
03-08 14:55:43.933 6358-6358/com.dayoptions.chat W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
03-08 14:55:43.933 6358-6358/com.dayoptions.chat W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
03-08 14:55:43.933 6358-6358/com.dayoptions.chat W/System.err: at dalvik.system.NativeStart.main(Native Method)

我可以使用以下代码将对象添加到适配器中:

adapter.addAll(messageList);

使用上面的行我没有遇到任何关于'wrong argument type''casting' 的问题,但我想在 ListView 的顶部添加对象。

最佳答案

问题是您不能将 list(messageList) 转换为 OneOnOneMessage 类型的对象。

您可以像这样从列表中转换单个项目:

adapter.insert((OneOnOneMessage)messageList.get(index), 0);

关于android - 如果对象是不同的数据类型,如何在 ArrayAdapter 列表的开头添加对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35863681/

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