gpt4 book ai didi

java - 如何在 recyclerview 中添加聊天日期?

转载 作者:行者123 更新时间:2023-12-01 16:51:16 27 4
gpt4 key购买 nike

我试图弄清楚如何在聊天中创建显示消息所属日期的日期列表项。

列表如下所示:

--- 1 week ago ---
msg
msg
msg
msg
msg
----- today -----
msg
msg
msg
msg

我可以做到的一种方法是创建日期时间列表项,然后使用一些逻辑来决定日期时间列表项应该位于哪个位置。

我认为可以创建一个自定义列表分隔符来显示日期,但我不确定这是否可行。

你们会如何处理这个问题?

最佳答案

您知道 RecyclerView 有多种 View 类型。这意味着您可以根据需要绘制预定义的行。

在聊天示例中,确切的日期和消息数据将在服务器端填充。您需要绘制刚刚准备好的信息(可能是 json)。

我希望这个建议可以节省您的时间。

public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
class ViewHolder0 extends RecyclerView.ViewHolder {
...
}

class ViewHolder2 extends RecyclerView.ViewHolder {
...
}

@Override
public int getItemViewType(int position) {
// Just as an example, return 0 or 2 depending on position
// Note that unlike in ListView adapters, types don't have to be contiguous
return position % 2 * 2;
}

@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
switch (viewType) {
case 0: return new ViewHolder0(...);
case 2: return new ViewHolder2(...);
...
}
}
}

关于java - 如何在 recyclerview 中添加聊天日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39688047/

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