Can*_*ing 0 java android android-recyclerview
我试图弄清楚要在聊天中创建日期列表项的方式,以显示消息所属的日期。
该列表如下所示:
--- 1 week ago ---
msg
msg
msg
msg
msg
----- today -----
msg
msg
msg
msg
Run Code Online (Sandbox Code Playgroud)
我可以做到的一种方法是创建日期时间列表项,然后使用某种逻辑来确定日期时间列表项应位于哪个位置。
我以为可能可以创建一个自定义列表分隔符来显示日期,但是我不确定是否可行。
你们将如何处理?
您知道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(...);
...
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1151 次 |
最近记录: |