Commit 0bef7ba2 authored by yinjiacheng's avatar yinjiacheng

fix 商品列表ViewModel绑定错乱

parent 0a8e6598
...@@ -16,7 +16,6 @@ import com.bumptech.glide.Glide ...@@ -16,7 +16,6 @@ import com.bumptech.glide.Glide
import com.bumptech.glide.load.resource.bitmap.CenterCrop import com.bumptech.glide.load.resource.bitmap.CenterCrop
import com.bumptech.glide.load.resource.bitmap.RoundedCorners import com.bumptech.glide.load.resource.bitmap.RoundedCorners
import com.bumptech.glide.request.RequestOptions import com.bumptech.glide.request.RequestOptions
import com.yidian.common.mvvm.BaseViewModel
import com.yidian.common.widget.CommonHintDialog import com.yidian.common.widget.CommonHintDialog
import com.yidian.shenghuoquan.commodity.BR import com.yidian.shenghuoquan.commodity.BR
import com.yidian.shenghuoquan.commodity.R import com.yidian.shenghuoquan.commodity.R
...@@ -105,11 +104,8 @@ class CommodityListAdapter(private val context: Context, private val status: Com ...@@ -105,11 +104,8 @@ class CommodityListAdapter(private val context: Context, private val status: Com
/** /**
* 获取DataBinding * 获取DataBinding
*/ */
private fun <VB : ViewDataBinding> getBinding(parent: ViewGroup, layoutResId: Int, viewModel: BaseViewModel): VB { private fun <VB : ViewDataBinding> getBinding(parent: ViewGroup, layoutResId: Int): VB {
val binding = DataBindingUtil.inflate<VB>(LayoutInflater.from(parent.context), layoutResId, parent, false) return DataBindingUtil.inflate(LayoutInflater.from(parent.context), layoutResId, parent, false)
binding.setVariable(BR.vm, viewModel)
// binding.lifecycleOwner = context as LifecycleOwner
return binding
} }
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
...@@ -118,28 +114,28 @@ class CommodityListAdapter(private val context: Context, private val status: Com ...@@ -118,28 +114,28 @@ class CommodityListAdapter(private val context: Context, private val status: Com
ID_COMMODITY_ONLINE -> { ID_COMMODITY_ONLINE -> {
return getBinding<CommodityItemCommodityOnlineListBinding>( return getBinding<CommodityItemCommodityOnlineListBinding>(
parent, parent,
R.layout.commodity_item_commodity_online_list, CommodityListItemViewModel() R.layout.commodity_item_commodity_online_list
).let { CommodityOnlineItemViewHolder(it, it.root) } ).let { CommodityOnlineItemViewHolder(it, it.root) }
} }
// 被驳回 // 被驳回
ID_COMMODITY_REJECT -> { ID_COMMODITY_REJECT -> {
return getBinding<CommodityItemCommodityRejectListBinding>( return getBinding<CommodityItemCommodityRejectListBinding>(
parent, parent,
R.layout.commodity_item_commodity_reject_list, CommodityListItemViewModel() R.layout.commodity_item_commodity_reject_list
).let { CommodityRejectItemViewHolder(it, it.root) } ).let { CommodityRejectItemViewHolder(it, it.root) }
} }
// 已下架 // 已下架
ID_COMMODITY_OFFLINE -> { ID_COMMODITY_OFFLINE -> {
return getBinding<CommodityItemCommodityOfflineListBinding>( return getBinding<CommodityItemCommodityOfflineListBinding>(
parent, parent,
R.layout.commodity_item_commodity_offline_list, CommodityListItemViewModel() R.layout.commodity_item_commodity_offline_list
).let { CommodityOfflineItemViewHolder(it, it.root) } ).let { CommodityOfflineItemViewHolder(it, it.root) }
} }
// 默认审核中 // 默认审核中
else -> { else -> {
return getBinding<CommodityItemCommodityAuditListBinding>( return getBinding<CommodityItemCommodityAuditListBinding>(
parent, parent,
R.layout.commodity_item_commodity_audit_list, CommodityListItemViewModel() R.layout.commodity_item_commodity_audit_list
).let { CommodityAuditItemViewHolder(it, it.root) } ).let { CommodityAuditItemViewHolder(it, it.root) }
} }
} }
...@@ -150,7 +146,8 @@ class CommodityListAdapter(private val context: Context, private val status: Com ...@@ -150,7 +146,8 @@ class CommodityListAdapter(private val context: Context, private val status: Com
val data = commodityData[position] val data = commodityData[position]
when (holder) { when (holder) {
is CommodityOnlineItemViewHolder -> { is CommodityOnlineItemViewHolder -> {
holder.binding.data = data holder.binding.setVariable(BR.data, data)
holder.binding.setVariable(BR.vm, CommodityListItemViewModel())
holder.binding.vm?.commodityOfflineOperationEvent?.observe(context as LifecycleOwner, { holder.binding.vm?.commodityOfflineOperationEvent?.observe(context as LifecycleOwner, {
// 弹出确认下架弹窗 // 弹出确认下架弹窗
CommonHintDialog(context, "确认下架优惠券?", arrayListOf("取消", "下架"), object : CommonHintDialog.OnHintOptionCallback { CommonHintDialog(context, "确认下架优惠券?", arrayListOf("取消", "下架"), object : CommonHintDialog.OnHintOptionCallback {
...@@ -173,13 +170,14 @@ class CommodityListAdapter(private val context: Context, private val status: Com ...@@ -173,13 +170,14 @@ class CommodityListAdapter(private val context: Context, private val status: Com
}) })
} }
is CommodityAuditItemViewHolder -> { is CommodityAuditItemViewHolder -> {
holder.binding.data = data holder.binding.setVariable(BR.data, data)
} }
is CommodityRejectItemViewHolder -> { is CommodityRejectItemViewHolder -> {
holder.binding.data = data holder.binding.setVariable(BR.data, data)
} }
is CommodityOfflineItemViewHolder -> { is CommodityOfflineItemViewHolder -> {
holder.binding.data = data holder.binding.setVariable(BR.data, data)
holder.binding.setVariable(BR.vm, CommodityListItemViewModel())
holder.binding.vm?.commodityOnlineSuccessEvent?.observe(context as LifecycleOwner, { holder.binding.vm?.commodityOnlineSuccessEvent?.observe(context as LifecycleOwner, {
// 上架成功 刷新列表 // 上架成功 刷新列表
ToastUtil.showToast(context, "上架成功") ToastUtil.showToast(context, "上架成功")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment