如何在recyclelerview中为聊天添加日期?

时间:2016-09-25 14:36:31

标签: java android android-recyclerview

我试图弄清楚要在聊天中创建日期列表项目的方式,以显示消息所属的日期。

列表如下所示:

throw std::domain_error(domain_error(key));

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

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

你们怎么处理这个?

1 个答案:

答案 0 :(得分:5)

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

在聊天示例中,将在服务器端填充确切的日期和消息数据。你需要绘制准备好的信息(也许是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(...);
             ...
         }
    }
}