feat(adapter): FoodMaterialAdapter 无重量时 ic_dish_clear 染灰色并将点击转发为 item 选中
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.shuwei.dish.match.adapter
|
||||
|
||||
import android.content.Context
|
||||
import android.content.res.ColorStateList
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.core.content.ContextCompat
|
||||
@@ -12,6 +13,7 @@ import com.shuwei.dish.match.entity.GoodsItem
|
||||
import com.shuwei.dish.match.utils.ext.gone
|
||||
import com.shuwei.dish.match.utils.ext.roundedOneDecimalPlace
|
||||
import com.shuwei.dish.match.utils.ext.visible
|
||||
import androidx.core.graphics.toColorInt
|
||||
|
||||
class FoodMaterialAdapter(list: MutableList<GoodsItem>) :
|
||||
BaseQuickAdapter<GoodsItem, FoodMaterialAdapter.VH>(list) {
|
||||
@@ -54,6 +56,14 @@ class FoodMaterialAdapter(list: MutableList<GoodsItem>) :
|
||||
if (data.isOriginalData) R.drawable.ic_dish_clear
|
||||
else R.drawable.ic_delete
|
||||
)
|
||||
// isOriginalData 时根据是否有重量信息控制图标颜色:无重量染灰色,有重量恢复原色
|
||||
if (data.isOriginalData) {
|
||||
val hasWeight = data.useWeight != null && data.useWeight != 0.0
|
||||
ivClearIcon.imageTintList = if (hasWeight) null
|
||||
else ColorStateList.valueOf("#BFBFBF".toColorInt())
|
||||
} else {
|
||||
ivClearIcon.imageTintList = null
|
||||
}
|
||||
ivOperateIcon.setImageResource(
|
||||
if (data.isSetFinished) R.drawable.ic_dish_selected
|
||||
else R.drawable.ic_dish_unselected
|
||||
|
||||
@@ -387,6 +387,11 @@ class PrepareFoodActivity : BaseActivity() {
|
||||
Log.d(TAG, "onFoodItemClick: ${list[position].toJsonString()}")
|
||||
val item = list[position]
|
||||
if (item.isOriginalData) {
|
||||
// 无重量信息时转为 item 整体点击(触发选中效果)
|
||||
if (item.useWeight == null || item.useWeight == 0.0) {
|
||||
onItemClick?.invoke(position)
|
||||
return@addOnItemChildClickListener
|
||||
}
|
||||
deleteRemindDialog("清除确认", "确定清除食材「${item.goodsName}」添加的重量吗?") {
|
||||
item.run {
|
||||
isNewDishType = false
|
||||
|
||||
Reference in New Issue
Block a user