在 RecyclerView Adapter 中显示错误的日期

安舒尔泰吉

在这里,我在比较两个日期后在消息上方显示日期。如果我显示每个项目的日期,它工作正常。但是当我试图表明TodayYesterdaydate它总是呈现date而已。这里的日期没有错,但它在格式化日期时出错了。

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMM dd, yyyy hh:mm:ss");
    try {
        Date current_itemDate = simpleDateFormat.parse(chatMessage.getDateTime());

        DateFormat outputFormat = new SimpleDateFormat("hh:mm a");
        Date date = simpleDateFormat.parse(chatMessage.getDateTime());
        holder.timeTextView.setText(outputFormat.format(date));
        long previousTs = 0;
        if (position > 0) {
            ChatMessage pm = chatMessages.get(position - 1);
            previousTs = simpleDateFormat.parse(pm.getDateTime()).getTime();
        }
        setTimeTextVisibility(current_itemDate.getTime(), previousTs, holder.textViewTimePeriod,
                holder.dividerTop);

    } catch (ParseException e) {
        e.printStackTrace();
    }

我正在使用TextView下面提到的显示日期或天数的逻辑如果我做错了什么,请告诉我。

 private void setTimeTextVisibility(long now_tm, long msg_tm, TextView timeText, View dividerTop) {
    Calendar now_calendar = Calendar.getInstance();
    Calendar msg_calendar = Calendar.getInstance();
    now_calendar.setTimeInMillis(now_tm);
    msg_calendar.setTimeInMillis(msg_tm);
    boolean sameDay = now_calendar.get(Calendar.YEAR) == msg_calendar.get(Calendar.YEAR) &&
            now_calendar.get(Calendar.MONTH) == msg_calendar.get(Calendar.MONTH)
            && now_calendar.get(Calendar.DAY_OF_MONTH) == msg_calendar.get(Calendar.DAY_OF_MONTH);
    if (msg_tm == 0) {
        timeText.setVisibility(View.VISIBLE);
        dividerTop.setVisibility(View.VISIBLE);
        if (now_calendar.get(Calendar.DATE) == msg_calendar.get(Calendar.DATE)) {
            timeText.setText("Today");
        } else if (!sameDay) {
            timeText.setText("Yesterday");
        } else {
            timeText.setText("" + new SimpleDateFormat("dd MMM, yyyy").format(new Date(now_tm)));
        }
    } else {
        if (sameDay) {
            timeText.setVisibility(View.GONE);
            dividerTop.setVisibility(View.GONE);
            timeText.setText("");
        } else {
            timeText.setVisibility(View.VISIBLE);
            dividerTop.setVisibility(View.VISIBLE);
            timeText.setText("Today");
        }

    }
}
谢法利·拉杰普特

尝试将您的日期转换为Millis然后使用这些<,>,<=,>=,==,!=运算符进行比较或检查此链接

.after 用于比较日期

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在RecyclerView Adapter类的ViewHolder中显示AlertDialog

来自分类Dev

从 Adapter 在 RecyclerView 中设置图像

来自分类Dev

无法使RecyclerView.Adapter正确显示

来自分类Dev

RecyclerView.Adapter onBindViewHolder()位置错误

来自分类Dev

视图在RecyclerView Adapter的onBindViewHolder中返回NullPointerException

来自分类Dev

在 RecyclerView.Adapter 中从 Internet 加载数据

来自分类Dev

RecyclerView.Adapter-显示的数据不正确

来自分类Dev

在 Fragment 上单击 RecyclerView 的 Adapter(Photos) 的 ITEM 时显示 ImageView

来自分类Dev

RecyclerView Adapter性能方法

来自分类Dev

RecyclerView Adapter使对象无效

来自分类Dev

使用Activity中的ArrayList作为Frament中RecyclerView Adapter的内容

来自分类Dev

从从 RecyclerView.Adapter 扩展的类中调用片段中的方法

来自分类Dev

RecyclerView Adapter更改列表滚动中的选定位置

来自分类Dev

RecyclerView.Adapter中的大量项目-内存问题

来自分类Dev

RecyclerView.Adapter中的ViewHolder不特定于位置

来自分类Dev

RecyclerView.Adapter的onCreateViewHolder方法中的parent.getContext

来自分类Dev

RecyclerView.Adapter类Kotlin中无法获取ViewModel实例

来自分类Dev

如何设置Onclick为在Adapter for RecyclerView中动态生成的ImageView

来自分类Dev

在收到Firebase消息时在RecyclerView Adapter中添加列表项

来自分类Dev

如何在 RecyclerView Adapter (DataBinding) 中调用 startActivity

来自分类Dev

在 ViewHolder 内部类中访问 RecyclerView.Adapter 数据

来自分类Dev

从 RecyclerView.Adapter 类更新列表数据中的某些项目

来自分类Dev

RecyclerView.Adapter在一行中显示2个项目(如何更改)

来自分类Dev

对不同的 RecyclerView 使用相同的 RecyclerView.Adapter?

来自分类Dev

我收到RecyclerView Adapter的VerifyError

来自分类Dev

RecyclerView Adapter方法未被调用

来自分类Dev

如何从 RecyclerView Adapter 打开片段?

来自分类Dev

RecyclerView.Adapter notifyDataSetChanged()在显示最后一项时不起作用

来自分类Dev

将 Adapter 设置为 RecyclerView 后解析 JSON。项目仍然显示

Related 相关文章

  1. 1

    在RecyclerView Adapter类的ViewHolder中显示AlertDialog

  2. 2

    从 Adapter 在 RecyclerView 中设置图像

  3. 3

    无法使RecyclerView.Adapter正确显示

  4. 4

    RecyclerView.Adapter onBindViewHolder()位置错误

  5. 5

    视图在RecyclerView Adapter的onBindViewHolder中返回NullPointerException

  6. 6

    在 RecyclerView.Adapter 中从 Internet 加载数据

  7. 7

    RecyclerView.Adapter-显示的数据不正确

  8. 8

    在 Fragment 上单击 RecyclerView 的 Adapter(Photos) 的 ITEM 时显示 ImageView

  9. 9

    RecyclerView Adapter性能方法

  10. 10

    RecyclerView Adapter使对象无效

  11. 11

    使用Activity中的ArrayList作为Frament中RecyclerView Adapter的内容

  12. 12

    从从 RecyclerView.Adapter 扩展的类中调用片段中的方法

  13. 13

    RecyclerView Adapter更改列表滚动中的选定位置

  14. 14

    RecyclerView.Adapter中的大量项目-内存问题

  15. 15

    RecyclerView.Adapter中的ViewHolder不特定于位置

  16. 16

    RecyclerView.Adapter的onCreateViewHolder方法中的parent.getContext

  17. 17

    RecyclerView.Adapter类Kotlin中无法获取ViewModel实例

  18. 18

    如何设置Onclick为在Adapter for RecyclerView中动态生成的ImageView

  19. 19

    在收到Firebase消息时在RecyclerView Adapter中添加列表项

  20. 20

    如何在 RecyclerView Adapter (DataBinding) 中调用 startActivity

  21. 21

    在 ViewHolder 内部类中访问 RecyclerView.Adapter 数据

  22. 22

    从 RecyclerView.Adapter 类更新列表数据中的某些项目

  23. 23

    RecyclerView.Adapter在一行中显示2个项目(如何更改)

  24. 24

    对不同的 RecyclerView 使用相同的 RecyclerView.Adapter?

  25. 25

    我收到RecyclerView Adapter的VerifyError

  26. 26

    RecyclerView Adapter方法未被调用

  27. 27

    如何从 RecyclerView Adapter 打开片段?

  28. 28

    RecyclerView.Adapter notifyDataSetChanged()在显示最后一项时不起作用

  29. 29

    将 Adapter 设置为 RecyclerView 后解析 JSON。项目仍然显示

热门标签

归档