罗明文
昨天 442124baa483f8d1c4aaca7ff81e15dd3f122363
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
76
package com.dollearn.student.ui.mine.adapter
 
import android.view.View
import androidx.core.os.bundleOf
import cn.sinata.xldutils.activity.BaseActivity
import cn.sinata.xldutils.adapter.HFRecyclerAdapter
import cn.sinata.xldutils.adapter.util.ViewHolder
import cn.sinata.xldutils.gone
import cn.sinata.xldutils.utils.myToast
import cn.sinata.xldutils.visible
import com.dollearn.student.R
import com.dollearn.student.dialog.TipDialog
import com.dollearn.student.network.HttpManager
import com.dollearn.student.network.entity.Recipient
import com.dollearn.student.network.request
import com.dollearn.student.ui.mine.AddressManageActivity
import com.dollearn.student.ui.shop.AddAddressActivity
import org.jetbrains.anko.backgroundColorResource
import org.jetbrains.anko.backgroundResource
import org.jetbrains.anko.startActivityForResult
import java.util.ArrayList
 
class AddressManageAdapter(list: ArrayList<Recipient>) :HFRecyclerAdapter<Recipient>(list, R.layout.item_receiver_manage){
    override fun onBind(holder: ViewHolder, position: Int, data: Recipient) {
        val activity = context as AddressManageActivity
        val tvDefault = holder.bind<View>(R.id.tv_default)
        val tvSetDefault = holder.bind<View>(R.id.tv_set_default)
        val cl = holder.bind<View>(R.id.cl_bg)
        if (mData.size == 1)
            cl.backgroundResource = R.drawable.bg_white_8dp
        else if (position == 0)
            cl.backgroundResource = R.drawable.bg_white_top_8dp
        else if (position == mData.lastIndex)
            cl.backgroundResource = R.drawable.bg_white_bottom_8dp
        else
            cl.backgroundColorResource = R.color.white
 
        holder.setText(R.id.tv_address,data.province+data.city+data.address)
        holder.setText(R.id.tv_user,"%s | %s".format(data.recipient,data.recipientPhone))
        if (data.isDefault == 1){
            tvDefault.visible()
            tvSetDefault.gone()
        }else{
            tvDefault.gone()
            tvSetDefault.visible()
            tvSetDefault.setOnClickListener {
                HttpManager.setDefaultStudy(data.id).request(activity){_,_->
                    activity.getData()
                }
            }
        }
 
        holder.bind<View>(R.id.iv_edit).setOnClickListener {
            activity.startActivityForResult<AddAddressActivity>(1,"id" to data.id)
        }
 
        holder.bind<View>(R.id.iv_del).setOnClickListener {
            val tipDialog = TipDialog()
            tipDialog.arguments = bundleOf("msg" to "确认删除所选信息吗?")
            tipDialog.setCallback(object :TipDialog.OnClickCallback{
                override fun onOk() {
                    HttpManager.addressDelete(data.id).request(activity){_,_->
                        activity.myToast("删除成功")
                        mData.removeAt(position)
                        notifyDataSetChanged()
                    }
                }
 
                override fun onCancel() {
                }
            })
            tipDialog.show(activity.supportFragmentManager,"del")
        }
    }
 
}