从适配器位置获取POJO对象

时间:2017-10-24 15:31:06

标签: java android

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

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

但是我得到了inconvertible types long cannot be cast to ConversationBean error,实现这个目标的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

使用// ... document.Footers.odd?.ReplaceText("text","replaced"); document.Footers.even?.ReplaceText("text","replaced"); document.Save(); 代替getItem(),请参阅https://developer.android.com/reference/android/widget/ArrayAdapter.html#getItem(int)

答案 1 :(得分:0)

您尝试从getTime()值调用方法longgetItemId()不会返回您想要的对象,它会返回,如方法签名所示,只返回ID(类型long)。

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

private MyItem getItemAtPosition(int position) {
    return mItems.get(position);
}

修改:另外,您应该阅读BaseAdapterthis tutorial上有关如何创建BaseAdapter子类以填充自定义视图的文档。

如果您使用ArrayAdapter,请检查Fusselchen answer

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

P.S。:您应该尝试Udacity的JavaAndroid课程,或Java和Android上的任何其他资料。他们将在开发应用程序时为您提供更多经验,并将帮助您在将来解决这些问题。

Google是一款功能强大的工具,可以帮助您利用它。