Browse Source

fix 修复油品选择模式选择油品无效果

RobinTan1024 4 năm trước cách đây
mục cha
commit
0c3bd472c0

+ 0 - 1
app/src/main/java/com/doverfuelingsolutions/issp/api/SystemApi.kt

@@ -115,7 +115,6 @@ object SystemApi {
                 if (code == 200 && body is PosTrx) {
                     it.resume(DFSResult.success(body))
                 } else {
-                    DFSLog.i(response.message(), response.body())
                     it.resume(DFSResult.fail(R.string.fail_request))
                 }
             }

+ 17 - 1
app/src/main/java/com/doverfuelingsolutions/issp/view/adapter/ChooseListAdapter.kt

@@ -1,14 +1,19 @@
 package com.doverfuelingsolutions.issp.view.adapter
 
+import android.graphics.Color
 import android.view.View
 import android.view.ViewGroup
+import androidx.core.content.res.ResourcesCompat
 import androidx.recyclerview.widget.RecyclerView
+import com.doverfuelingsolutions.issp.DFSApplication
 import com.doverfuelingsolutions.issp.R
 import kotlinx.android.synthetic.main.adapter_choose_item.view.*
 
-class ChooseListAdapter(private val chooseList: List<String>, private val handler: (item: String) -> Unit) :
+class ChooseListAdapter(private val chooseList: List<String>, private val handler: (item: String) -> Unit, private val chooseEffect: Boolean = false) :
     RecyclerView.Adapter<ChooseListAdapter.ChooseViewHolder>() {
 
+    private var selectedIndex = 0
+
     override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ChooseViewHolder {
         val view = View.inflate(parent.context, R.layout.adapter_choose_item, null)
         return ChooseViewHolder(view)
@@ -16,7 +21,18 @@ class ChooseListAdapter(private val chooseList: List<String>, private val handle
 
     override fun onBindViewHolder(holder: ChooseViewHolder, position: Int) {
         holder.itemView.chooseItemView.text = chooseList[position]
+        if (chooseEffect) {
+            val color = if (!chooseEffect || selectedIndex == position)
+                ResourcesCompat.getColor(DFSApplication.instance.applicationContext.resources, R.color.colorPrimary, null)
+            else
+                ResourcesCompat.getColor(DFSApplication.instance.applicationContext.resources, R.color.colorBBB, null)
+            holder.itemView.chooseItemView.setBackgroundColor(color)
+        }
         holder.itemView.chooseItemView.setOnClickListener {
+            if (chooseEffect) {
+                selectedIndex = position
+                notifyDataSetChanged()
+            }
             handler.invoke(chooseList[position])
         }
     }

+ 2 - 5
app/src/main/java/com/doverfuelingsolutions/issp/view/fragment/FragmentOrderList.kt

@@ -39,12 +39,9 @@ class FragmentOrderList private constructor(private val pumpId: Int) : FragmentB
     private val orderListAdapter = OrderListAdapter(if (pumpId != -1) orderList else orderListAfterFilter, this::selectOrder)
 
     private var selectedName = ""
-    private val oilNameList: List<String> by lazyOf(FusionManager.pumpList.map { it.oilName })
+    private val oilNameList: List<String> by lazyOf(FusionManager.pumpList.map { it.oilName }.filter { it.isNotBlank() })
     private val chooseListAdapter: ChooseListAdapter by lazy {
-        ChooseListAdapter(
-            oilNameList,
-            this::selectOilName
-        )
+        ChooseListAdapter(oilNameList, this::selectOilName, true)
     }
 
     override fun onCreate(savedInstanceState: Bundle?) {

+ 1 - 0
app/src/main/res/layout/fragment_nozzle_orders.xml

@@ -27,6 +27,7 @@
         <androidx.recyclerview.widget.RecyclerView
             android:id="@+id/oilList"
             style="@style/fullWidth"
+            android:paddingHorizontal="10dp"
             android:visibility="@{viewModel.isNozzle ? View.GONE : View.VISIBLE}" />
 
         <com.scwang.smart.refresh.layout.SmartRefreshLayout