Java 从适配器位置获取POJO对象

Java 从适配器位置获取POJO对象,java,android,Java,Android,我想从我的活动中调用pojo类的getTime方法,但我想使用适配器的位置,因为我需要用户时间来处理位于recyclerview最顶端位置的message对象这是我正在尝试的代码 ((ConvoResponseModel.DataBean.ConversationBean) adapter.getItemId(0)).getTime(); 但是我得到了不可转换类型long不能转换为ConversationBean error,实现这一点的正确方法是什么?您试图从long值调用方法getTime

我想从我的活动中调用pojo类的getTime方法,但我想使用适配器的位置,因为我需要用户时间来处理位于recyclerview最顶端位置的message对象这是我正在尝试的代码

((ConvoResponseModel.DataBean.ConversationBean) adapter.getItemId(0)).getTime();

但是我得到了
不可转换类型long不能转换为ConversationBean error
,实现这一点的正确方法是什么?

您试图从
long
值调用方法
getTime()
getItemId()
不会返回您想要的对象,它只会返回ID(类型为
long

我不知道您正在使用的适配器子类,但很可能您必须实现一个方法来检索所提供位置上的项。比如:

private MyItem getItemAtPosition(int position) {
    return mItems.get(position);
}
编辑:此外,您应该阅读有关如何子类化
BaseAdapter
以填充自定义视图的文档

如果您使用的是
阵列适配器
,请选中

我建议您了解如何解释堆栈跟踪。这在调试时非常有用。在你的特殊情况下,这会导致转换问题

p.S.:你应该试试Udacity的课程和课程,或者其他关于Java和Android的材料。它们将在开发应用程序时为您提供更多经验,并将帮助您在未来解决此类问题


谷歌是一个强大的工具,请充分利用它。

使用
getItem()
而不是
getItemId()
请参阅使用
((convalresponsemodel.DataBean.ConversationBean)adapter.getItem(0)).getTime()您尝试过任何答案吗?