lmw
2023-06-13 adf8013576cbdd12e5ebea8ff7e32baf5d558b27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
package com.kuanzhai.user.ui.mine.adapter
 
import android.view.LayoutInflater
import android.view.View
import android.widget.LinearLayout
import android.widget.TextView
import cn.sinata.xldutils.adapter.HFRecyclerAdapter
import cn.sinata.xldutils.adapter.util.ViewHolder
import cn.sinata.xldutils.gone
import cn.sinata.xldutils.invisible
import cn.sinata.xldutils.utils.parserTime
import cn.sinata.xldutils.visible
import com.facebook.drawee.view.SimpleDraweeView
import com.kuanzhai.user.R
import com.kuanzhai.user.network.entity.BusinessCoupon
import com.kuanzhai.user.network.entity.MyBusinessCoupon
import com.kuanzhai.user.ui.mine.CouponDetailActivity
import kotlinx.android.synthetic.main.item_sub_my_business_counpon.view.*
import org.jetbrains.anko.backgroundResource
import org.jetbrains.anko.startActivity
import java.util.ArrayList
 
class MyBusinessCouponAdapter(datas: ArrayList<MyBusinessCoupon>):HFRecyclerAdapter<MyBusinessCoupon>(datas, R.layout.item_my_business_counpon) {
    var type = 1
    override fun onBind(holder: ViewHolder, position: Int, data: MyBusinessCoupon) {
        val tv_open = holder.bind<TextView>(R.id.tv_open)
        val ll = holder.bind<LinearLayout>(R.id.ll_coupon)
        holder.bind<SimpleDraweeView>(R.id.iv_avatar).setImageURI(data.headImg)
        holder.setText(R.id.tv_name,data.merchantName)
        ll.removeAllViews()
        val list:List<BusinessCoupon>
        tv_open.visibility = if (data.list.size<3){
            list = data.list
            View.GONE
        } else{
            list = if (data.isOpen){
                tv_open.text = "收起"
                tv_open.setCompoundDrawablesWithIntrinsicBounds(0,0,R.mipmap.icon_nav_close,0)
                data.list
            }else{
                tv_open.text = "展开"
                tv_open.setCompoundDrawablesWithIntrinsicBounds(0,0,R.mipmap.icon_nav_open,0)
                data.list.take(2)
            }
            View.VISIBLE
        }
        list.forEach {
            val inflate = LayoutInflater.from(context).inflate(R.layout.item_sub_my_business_counpon, null)
            inflate.tv_money.text = String.format("¥%.2f",it.discount)
            inflate.tv_title.text = it.name
            if (it.type == 2){
                inflate.tv_type.visible()
                inflate.tv_money.invisible()
                inflate.tv_range.text = it.content
            }else{
                inflate.tv_range.text = "店铺购买满%.2f使用".format(it.fullAmount)
            }
            val l = it.endTime.parserTime() - System.currentTimeMillis()
            inflate.tv_info.text = if (l<=0) "已到期" else "距离到期仅剩%d天".format(l/(24*60*60*1000L)+1)
            inflate.tv_detail.setOnClickListener {_->
                context.startActivity<CouponDetailActivity>("data" to it,"disable" to (type == 2))
            }
            if (type == 2){
                inflate.cl_left.backgroundResource = R.mipmap.bg_coupon_grey
                inflate.cl_right.backgroundResource = R.mipmap.bg_coupon_right_grey
                inflate.iv_tag.visible()
            }
            ll.addView(inflate)
        }
        tv_open.setOnClickListener {
            data.isOpen = !data.isOpen
            notifyItemChanged(position)
        }
    }
}