У меня есть фрагмент с видом рециркулятора, в представлении рециркулятора есть изображение, которое меняет свой sr c в соответствии со своим статусом, все работает нормально с первого раза, но когда я go из фрагмента списка в другой фрагмент и возвращение к фрагменту списка, изображение меняет свой sr c, я также использую живые данные с моделью представления и навигацией, если это релевантно
, вот как я изменил изображение в соответствии со статусом в адаптер
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
OrderModel orderModel = orderModelList.get(position);
holder.orderItemBinding.setOrder(orderModel);
switch (orderModel.getStatus()) {
case "pending":
orderModel.setStatus(context.getString(R.string.pending));
((GradientDrawable) holder.orderItemBinding.orderStatus.getBackground()).setColor(Color.parseColor("#b08d1b"));
break;
case "cancel_client":
orderModel.setStatus(context.getString(R.string.cancel_client));
((GradientDrawable) holder.orderItemBinding.orderStatus.getBackground()).setColor(Color.parseColor("#b0441b"));
break;
case "admin_cancel":
case "cancel_admin":
orderModel.setStatus(context.getString(R.string.admin_cancel));
((GradientDrawable) holder.orderItemBinding.orderStatus.getBackground()).setColor(Color.parseColor("#b0441b"));
break;
case "delivered":
orderModel.setStatus(context.getString(R.string.delivered));
((GradientDrawable) holder.orderItemBinding.orderStatus.getBackground()).setColor(context.getColor(R.color.colorPrimary));
break;
case "assigned":
orderModel.setStatus(context.getString(R.string.assigned));
((GradientDrawable) holder.orderItemBinding.orderStatus.getBackground()).setColor(context.getColor(R.color.colorPrimary));
break;
}
}
вот мой ряд xml
<layout>
<ImageView
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@{order.orderImg}"
/>
<data>
<variable
name="order"
type="com.example.deliveryclient.myorders.OrderModel" />
type="com.example.deliveryclient.model.OrderModel" />
</data>
</layout>