Browse Source

修改护理项有空值时导致app崩溃问题

weizhengliang 2 years ago
parent
commit
dbda70a3d9

+ 81 - 31
callingdoor/src/main/java/com/wdkl/app/ncs/callingdoor/adapter/FrameRoomAdapter.kt

@@ -98,7 +98,7 @@ class FrameRoomAdapter : RecyclerView.Adapter<FrameRoomAdapter.BedViewHolder> {
         notifyDataSetChanged()
         notifyDataSetChanged()
     }
     }
 
 
-    fun initDefaultNursingConfigs() {
+    private fun initDefaultNursingConfigs() {
         //初始化默认护理项
         //初始化默认护理项
         configList.clear()
         configList.clear()
         for (index in 1..5) {
         for (index in 1..5) {
@@ -182,21 +182,46 @@ class FrameRoomAdapter : RecyclerView.Adapter<FrameRoomAdapter.BedViewHolder> {
             }
             }
         }
         }
 
 
-        holder.nursingColor1.setBackgroundColor(Color.parseColor("#" + configList.get(0).nurseColorRbg))
-        holder.nursingName1.setText(configList.get(0).nurseConfigName)
-        holder.nursingValue1.setText(configList.get(0).nurseOptionName)
-        holder.nursingColor2.setBackgroundColor(Color.parseColor("#" + configList.get(1).nurseColorRbg))
-        holder.nursingName2.setText(configList.get(1).nurseConfigName)
-        holder.nursingValue2.setText(configList.get(1).nurseOptionName)
-        holder.nursingColor3.setBackgroundColor(Color.parseColor("#" + configList.get(2).nurseColorRbg))
-        holder.nursingName3.setText(configList.get(2).nurseConfigName)
-        holder.nursingValue3.setText(configList.get(2).nurseOptionName)
-        holder.nursingColor4.setBackgroundColor(Color.parseColor("#" + configList.get(3).nurseColorRbg))
-        holder.nursingName4.setText(configList.get(3).nurseConfigName)
-        holder.nursingValue4.setText(configList.get(3).nurseOptionName)
-        holder.nursingColor5.setBackgroundColor(Color.parseColor("#" + configList.get(4).nurseColorRbg))
-        holder.nursingName5.setText(configList.get(4).nurseConfigName)
-        holder.nursingValue5.setText(configList.get(4).nurseOptionName)
+
+        if (TextUtils.isEmpty(configList[0].nurseColorRbg)) {
+            holder.nursingColor1.setBackgroundColor(Color.parseColor("#D7D7D7"))
+        } else {
+            holder.nursingColor1.setBackgroundColor(Color.parseColor("#" + configList[0].nurseColorRbg))
+        }
+        holder.nursingName1.setText(configList[0].nurseConfigName)
+        holder.nursingValue1.setText(configList[0].nurseOptionName)
+
+        if (TextUtils.isEmpty(configList[1].nurseColorRbg)) {
+            holder.nursingColor2.setBackgroundColor(Color.parseColor("#D7D7D7"))
+        } else {
+            holder.nursingColor2.setBackgroundColor(Color.parseColor("#" + configList[1].nurseColorRbg))
+        }
+        holder.nursingName2.setText(configList[1].nurseConfigName)
+        holder.nursingValue2.setText(configList[1].nurseOptionName)
+
+        if (TextUtils.isEmpty(configList[2].nurseColorRbg)) {
+            holder.nursingColor3.setBackgroundColor(Color.parseColor("#D7D7D7"))
+        } else {
+            holder.nursingColor3.setBackgroundColor(Color.parseColor("#" + configList[2].nurseColorRbg))
+        }
+        holder.nursingName3.setText(configList[2].nurseConfigName)
+        holder.nursingValue3.setText(configList[2].nurseOptionName)
+
+        if (TextUtils.isEmpty(configList[3].nurseColorRbg)) {
+            holder.nursingColor4.setBackgroundColor(Color.parseColor("#D7D7D7"))
+        } else {
+            holder.nursingColor4.setBackgroundColor(Color.parseColor("#" + configList[3].nurseColorRbg))
+        }
+        holder.nursingName4.setText(configList[3].nurseConfigName)
+        holder.nursingValue4.setText(configList[3].nurseOptionName)
+
+        if (TextUtils.isEmpty(configList[4].nurseColorRbg)) {
+            holder.nursingColor5.setBackgroundColor(Color.parseColor("#D7D7D7"))
+        } else {
+            holder.nursingColor5.setBackgroundColor(Color.parseColor("#" + configList[4].nurseColorRbg))
+        }
+        holder.nursingName5.setText(configList[4].nurseConfigName)
+        holder.nursingValue5.setText(configList[4].nurseOptionName)
     }
     }
 
 
     private fun showBedInfoRk3288(holder: BedViewHolder, bedVO: FrameBedVO) {
     private fun showBedInfoRk3288(holder: BedViewHolder, bedVO: FrameBedVO) {
@@ -271,21 +296,46 @@ class FrameRoomAdapter : RecyclerView.Adapter<FrameRoomAdapter.BedViewHolder> {
             }
             }
         }
         }
 
 
-        holder.nursingColor1.setBackgroundColor(Color.parseColor("#" + configList.get(0).nurseColorRbg))
-        holder.nursingName1.setText(configList.get(0).nurseConfigName)
-        holder.nursingValue1.setText(configList.get(0).nurseOptionName)
-        holder.nursingColor2.setBackgroundColor(Color.parseColor("#" + configList.get(1).nurseColorRbg))
-        holder.nursingName2.setText(configList.get(1).nurseConfigName)
-        holder.nursingValue2.setText(configList.get(1).nurseOptionName)
-        holder.nursingColor3.setBackgroundColor(Color.parseColor("#" + configList.get(2).nurseColorRbg))
-        holder.nursingName3.setText(configList.get(2).nurseConfigName)
-        holder.nursingValue3.setText(configList.get(2).nurseOptionName)
-        holder.nursingColor4.setBackgroundColor(Color.parseColor("#" + configList.get(3).nurseColorRbg))
-        holder.nursingName4.setText(configList.get(3).nurseConfigName)
-        holder.nursingValue4.setText(configList.get(3).nurseOptionName)
-        holder.nursingColor5.setBackgroundColor(Color.parseColor("#" + configList.get(4).nurseColorRbg))
-        holder.nursingName5.setText(configList.get(4).nurseConfigName)
-        holder.nursingValue5.setText(configList.get(4).nurseOptionName)
+
+        if (TextUtils.isEmpty(configList[0].nurseColorRbg)) {
+            holder.nursingColor1.setBackgroundColor(Color.parseColor("#D7D7D7"))
+        } else {
+            holder.nursingColor1.setBackgroundColor(Color.parseColor("#" + configList[0].nurseColorRbg))
+        }
+        holder.nursingName1.setText(configList[0].nurseConfigName)
+        holder.nursingValue1.setText(configList[0].nurseOptionName)
+
+        if (TextUtils.isEmpty(configList[1].nurseColorRbg)) {
+            holder.nursingColor2.setBackgroundColor(Color.parseColor("#D7D7D7"))
+        } else {
+            holder.nursingColor2.setBackgroundColor(Color.parseColor("#" + configList[1].nurseColorRbg))
+        }
+        holder.nursingName2.setText(configList[1].nurseConfigName)
+        holder.nursingValue2.setText(configList[1].nurseOptionName)
+
+        if (TextUtils.isEmpty(configList[2].nurseColorRbg)) {
+            holder.nursingColor3.setBackgroundColor(Color.parseColor("#D7D7D7"))
+        } else {
+            holder.nursingColor3.setBackgroundColor(Color.parseColor("#" + configList[2].nurseColorRbg))
+        }
+        holder.nursingName3.setText(configList[2].nurseConfigName)
+        holder.nursingValue3.setText(configList[2].nurseOptionName)
+
+        if (TextUtils.isEmpty(configList[3].nurseColorRbg)) {
+            holder.nursingColor4.setBackgroundColor(Color.parseColor("#D7D7D7"))
+        } else {
+            holder.nursingColor4.setBackgroundColor(Color.parseColor("#" + configList[3].nurseColorRbg))
+        }
+        holder.nursingName4.setText(configList[3].nurseConfigName)
+        holder.nursingValue4.setText(configList[3].nurseOptionName)
+
+        if (TextUtils.isEmpty(configList[4].nurseColorRbg)) {
+            holder.nursingColor5.setBackgroundColor(Color.parseColor("#D7D7D7"))
+        } else {
+            holder.nursingColor5.setBackgroundColor(Color.parseColor("#" + configList[4].nurseColorRbg))
+        }
+        holder.nursingName5.setText(configList[4].nurseConfigName)
+        holder.nursingValue5.setText(configList[4].nurseOptionName)
     }
     }
 
 
     class BedViewHolder: RecyclerView.ViewHolder {
     class BedViewHolder: RecyclerView.ViewHolder {