EventPayItemAdapter.java 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package com.edufound.reader.adapter;
  2. import android.annotation.SuppressLint;
  3. import android.content.Context;
  4. import android.view.LayoutInflater;
  5. import android.view.View;
  6. import android.view.ViewGroup;
  7. import android.widget.ImageView;
  8. import android.widget.TextView;
  9. import androidx.annotation.NonNull;
  10. import androidx.constraintlayout.widget.ConstraintLayout;
  11. import androidx.recyclerview.widget.RecyclerView;
  12. import com.edufound.reader.R;
  13. import com.edufound.reader.bean.ActivityEventPayBean;
  14. import com.edufound.reader.bean.PayResultBean;
  15. import com.edufound.reader.listener.RecyclerItemClickListener;
  16. import com.jakewharton.rxbinding4.view.RxView;
  17. import com.orhanobut.logger.Logger;
  18. import java.text.DecimalFormat;
  19. import java.util.List;
  20. import java.util.concurrent.TimeUnit;
  21. public class EventPayItemAdapter extends RecyclerView.Adapter<EventPayItemHolder> {
  22. private LayoutInflater mLayoutInflater;
  23. private Context mContext;
  24. private List<ActivityEventPayBean> mListData;
  25. private RecyclerItemClickListener<ActivityEventPayBean> mItemClickListener;
  26. public EventPayItemAdapter(Context context, List<ActivityEventPayBean> listData) {
  27. mContext = context;
  28. mLayoutInflater = LayoutInflater.from(context);
  29. mListData = listData;
  30. }
  31. @NonNull
  32. @Override
  33. public EventPayItemHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
  34. return new EventPayItemHolder(mLayoutInflater.inflate(R.layout.activity_event_pay_item, null));
  35. }
  36. public void onItemClick(RecyclerItemClickListener<ActivityEventPayBean> listener) {
  37. mItemClickListener = listener;
  38. }
  39. @Override
  40. public void onBindViewHolder(@NonNull EventPayItemHolder holder, @SuppressLint("RecyclerView") int position) {
  41. DecimalFormat df = new DecimalFormat("########0.00");
  42. holder.mMoney.setText(df.format(Double.parseDouble(mListData.get(position).getFinalAmount()) / 100));
  43. holder.mDetail.setText("原价:" + df.format(Double.parseDouble(mListData.get(position).getProduct().getOriginPrice()) / 100) + ",现价:" + df.format(Double.parseDouble(mListData.get(position).getProduct().getPrice()) / 100) + "元");
  44. holder.mRFDetail.setText("抵用券减" + df.format(Double.parseDouble(mListData.get(position).getVoucherAmount()) / 100) + "元 剩余小红花" + mListData.get(position).getRedFlower() + "朵");
  45. ;
  46. holder.mTitle.setText(mListData.get(position).getProduct().getTitle());
  47. RxView.clicks(holder.itemView).throttleFirst(2, TimeUnit.SECONDS).subscribe(o -> {
  48. if (mItemClickListener != null) {
  49. mItemClickListener.onClickListener(position, holder.itemView, mListData.get(position));
  50. } else {
  51. Logger.e("未设置itemclick");
  52. }
  53. });
  54. if (mListData.get(position).getProduct().getPayType().equals("YEAR")) {
  55. holder.mBackGround.setBackgroundResource(R.drawable.event_pay_item_year);
  56. } else if (mListData.get(position).getProduct().getPayType().equals("MONTH")) {
  57. holder.mBackGround.setBackgroundResource(R.drawable.event_pay_item_month);
  58. } else {
  59. holder.mBackGround.setBackgroundResource(R.drawable.event_pay_item_month);
  60. }
  61. }
  62. @Override
  63. public int getItemCount() {
  64. return mListData.size();
  65. }
  66. @Override
  67. public int getItemViewType(int position) {
  68. return position;
  69. }
  70. }
  71. class EventPayItemHolder extends RecyclerView.ViewHolder {
  72. ConstraintLayout mBackGround;
  73. TextView mTitle;
  74. TextView mDetail;
  75. TextView mRFDetail;
  76. TextView mMoney;
  77. ImageView mToPay;
  78. public EventPayItemHolder(@NonNull View itemView) {
  79. super(itemView);
  80. mBackGround = itemView.findViewById(R.id.event_pay_background);
  81. mTitle = itemView.findViewById(R.id.event_pay_item_title);
  82. mDetail = itemView.findViewById(R.id.event_pay_item_detail);
  83. mRFDetail = itemView.findViewById(R.id.event_pay_item_redflower_detail);
  84. mMoney = itemView.findViewById(R.id.event_pay_item_pay_money);
  85. mToPay = itemView.findViewById(R.id.event_pay_item_pay_topay);
  86. }
  87. }