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")
|
}
|
}
|
|
}
|