如果它来自同一日期,则在列表视图中隐藏日期

时间:2015-09-23 10:13:28

标签: android date listview cursor adapter

如果消息来自同一天,如何在ListView中隐藏日期?如果消息来自同一天,我想显示一次日期。

我的代码如下:

        final message Message = getItem(cursor.getPosition());

        //Get next chat message
        message nextChatMessage;

        if (cursor.getPosition() > 0) {
            //Move cursor forward
            nextChatMessage = getItem(cursor.getPosition() + 1);
        } else {
            nextChatMessage = null;
        }

        boolean isDiffDate = (nextChatMessage == null || !DateTimeUtil.isEqualDate(message.messageDate, nextChatMessage.messageDate));

获取项目:

    @Override
public Message getItem(int position) {
    Cursor cursor = getCursor();
    if(cursor != null && cursor.moveToPosition(getCount() - position - 1)) {
        message Message = new message ();
        Message .parseChatMessage(cursor);
        return Message ;
    } else {
        return null;
    }
}

谢谢。

2 个答案:

答案 0 :(得分:1)

这可能是您希望在getView

中做的
myDateView.setVisibility(isDiffDate ? View.VISIBLE : View.INVISIBLE);

答案 1 :(得分:0)

如果日期相同或不同,您必须设置视图的可见性 在适配器的getView()方法