在recyclerView中显示列表,使用翻新按照JSON中的日期按日期排序

时间:2018-07-07 08:12:14

标签: android json android-recyclerview retrofit2 recycler-adapter

因此,我正在制作一个需要显示交易清单的应用程序,在其中我按如下方式获取交易的日期和时间

@for $padding from 1 to 13 {
    .padding-#{$padding} {
        padding: $padding + px;
    }
}

我正在使用recyclerView进行填充,现在我要显示如下列表;

Example BluePrint

那么,有人可以帮助我实现这一目标吗?

1 个答案:

答案 0 :(得分:0)

为您的响应创建 Model类,该类实现了Comparable interface

此类将覆盖 compareTo 方法,该方法将根据 transaction_date 对交易进行排序。

模型类

   <template>
      <div>
    <header-block></header-block>

    <nuxt/>

    <footer-block></footer-block>
  </div>
</template>
<script>
import HeaderBlock from '~/components/Header.vue'
import FooterBlock from '~/components/Footer.vue'

require(['mojo/signup-forms/Loader'], function (L) {
  L.start({'baseUrl': 'mc.us9.list-manage.com', 'uuid': 'xxxx', 'lid': 'xxxx'})
})
export default {
  components: {HeaderBlock, FooterBlock}
}
</script>

在将数据传递给Adapter类之前,请使用Collection framework API

对列表进行排序
public class Transactions implements Comparable<Transactions> {

    @SerializedName("transaction_id")
    public String transactionId;

    @SerializedName("transaction_date")
    public String transactionDate;

    @SerializedName("amount")
    public String amount;

    @SerializedName("user_id")
    public String userId;

    @SerializedName("currency")
    public String currency;

    @SerializedName("associate_id")
    public String associateId;

    @SerializedName("associate")
    public Associate associate;

    @SerializedName("card_id")
    public String cardId;

    @SerializedName("card")
    public Object card;

    public class Associate {

        @SerializedName("is_active")
        public String isActive;

        @SerializedName("associate_type")
        public String associateType;

        @SerializedName("name")
        public String name;

        @SerializedName("created_date")
        public String createdDate;

        @SerializedName("associate_id")
        public String associateId;

        @SerializedName("url")
        public Object url;

        @SerializedName("last_update_date")
        public String lastUpdateDate;

    }

    @Override
    public int compareTo(Transactions transaction) {
        return new Date(this.transactionDate).compareTo(new Date(transaction.transactionDate));
    }
}

希望这会有所帮助