在 RecyclerView 中比较来自 JSON 结果的两个日期

肖恩

我得到了一个recyclerView,它将根据使用数据绑定的 JSON 结果进行填充,我想要做的是检查/比较开始日期和过期日期以查看“交易”是否已过期(如果过期,则文本视图为“交易已过期“ 会出现)

"DealsPageInfo": [
    {
      "DisplayName": "string",
      "StartDate": "2018-04-27T03:06:18.890Z",
      "ExpiredDate": "2018-04-27T03:06:18.890Z",
      "Url": "string",
      "ImageUrl": "string",
      "ShortDescription": "string"
    }

这是我的一些问题:
*应该使用 DATE / String 来存储对象吗?
* 我应该在哪里执行此操作?在我的片段/适配器下?
感谢提供任何来源/示例。

<TextView
      android:id="@+id/list_offers_startDate"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_marginRight="3dp"
      android:text="@{offers.StartDate}"
      android:textColor="@color/colorGrayText"
      android:textSize="@dimen/list_fontsize"
      />

 <TextView
      android:id="@+id/list_offers_endDate"
      android:visibility="gone"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_marginLeft="3dp"
      android:text="@{offers.ExpiredDate}"
      android:textColor="@color/colorGrayText"
      android:textSize="@dimen/form_fontsize"
      />
哈桑沙伊赫

* 我应该在哪里执行此操作?在我的片段/适配器下?在适配器的 onBindViewHolder 中执行此操作,

@Override
    public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, final int position){
        if (isDateExpired(listItems.get(position).getStartDate(),listItems.get(position).getEndDate())){
            viewHolder.dealsExpiredtextview.setVisibility(View.GONE);
        }else {
            viewHolder.dealsExpiredtextview.setVisibility(View.VISIBLE);

        }
    }

在您的适配器中添加此方法,

public boolean isDateExpired(String startDate, String endDate) {
    SimpleDateFormat dfDate = new SimpleDateFormat("dd-MM-yyyy");
    boolean b = false;
    try {
        if (dfDate.parse(startDate).before(dfDate.parse(endDate))) {
            return true;  // If start date is before end date.
        } else if (dfDate.parse(startDate).equals(dfDate.parse(endDate))) {
            return false;  // If two dates are equal.
        } else {
            return false; // If start date is after the end date.
        }
    } catch (ParseException e) {
        e.printStackTrace();
        return false;
    }
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在NodeJs和Express中比较两个JSON

来自分类Dev

在 Python 中比较来自 Wikidata api 的日期

来自分类Dev

比较两个日期结果0

来自分类Dev

比较两个日期结果0

来自分类Dev

无法在Android中比较JSON结果

来自分类Dev

如何在python 3中比较两个嵌套的json

来自分类Dev

如何在JavaScript中比较两个日期时间?

来自分类Dev

如何在querybuilder中比较两个日期

来自分类Dev

我可以在Smalltalk中比较两个日期吗?

来自分类Dev

如何在bash脚本中比较两个日期?

来自分类Dev

如何在AngularJS中比较两个日期?

来自分类Dev

在SqlServer 2008中比较两个日期和其他两个日期

来自分类Dev

比较两个 Json

来自分类Dev

Javascript比较两个日期有错误的结果

来自分类Dev

Javascript比较两个日期有错误的结果

来自分类Dev

比较两个日期并在android中获取结果

来自分类Dev

在Python中比较两个CSV

来自分类Dev

在Swift中比较两个NSObject

来自分类Dev

在python中比较两个文件

来自分类Dev

比较两个 json 对象并删除元素,然后将结果 json 与其他 json 文件进行比较

来自分类Dev

vue中如何比较两个json的数据并根据结果显示图标?

来自分类Dev

两个日期比较

来自分类Dev

在mysql中比较两个日期时出现日期格式问题

来自分类Dev

如何在Tibco BW中比较两个日期和当前日期?

来自分类Dev

比较PHP中的两个JSON

来自分类Dev

比较两个JSON对象

来自分类Dev

比较两个复杂的JSON数组

来自分类Dev

比较两个复杂的 json (Javascript)

来自分类Dev

使用两个日期比较而不是日期范围查询会在MongoDB中产生不同的结果