diff --git a/app/src/main/java/com/casic/br/operationsite/adapter/ManagePointAdapter.kt b/app/src/main/java/com/casic/br/operationsite/adapter/ManagePointAdapter.kt index 5d03399..536c6cb 100644 --- a/app/src/main/java/com/casic/br/operationsite/adapter/ManagePointAdapter.kt +++ b/app/src/main/java/com/casic/br/operationsite/adapter/ManagePointAdapter.kt @@ -15,7 +15,6 @@ class ManagePointAdapter( private val context: Context, - private val line: Int, private val points: MutableList, private val countLimit: Int ) : RecyclerView.Adapter() { @@ -30,9 +29,19 @@ ) } + override fun getItemCount(): Int { + return if (points.isEmpty()) { + 1 // 没有数据时只显示“添加” + } else if (points.size < countLimit) { + points.size + 1 // 显示数据 + “添加” + } else { + points.size // 达到上限,不显示“添加” + } + } + override fun onBindViewHolder(holder: ViewHolder, position: Int) { val textView = holder.getView(R.id.textView) - if (position == itemCount - 1 && points.isNotEmpty() && points.size < countLimit) { + if (position == itemCount - 1 && points.size < countLimit) { textView.text = "添加" textView.setTextColor(R.color.greenColor.convertColor(context)) textView.setOnClickListener { @@ -41,8 +50,8 @@ if (find == null) { val pointBean = PointBean().apply { firstType = 92 - secondType = line - thirdType = pointBeanDao.queryPointByLine(line).size + 1 + secondType = 1 + thirdType = pointBeanDao.firstLinePoints.size + 1 } pointBeanDao.insert(pointBean) points.add(pointBean) @@ -66,6 +75,9 @@ } } } else { + if (points.isEmpty()) { + return + } val currentThirdType = points[position].thirdType textView.text = "预置点位 $currentThirdType" textView.setTextColor(R.color.mainTextColor.convertColor(context)) @@ -98,14 +110,4 @@ } } } - - override fun getItemCount(): Int { - return if (points.isEmpty()) { - 1 // 没有数据时只显示“添加” - } else if (points.size < countLimit) { - points.size + 1 // 显示数据 + “添加” - } else { - points.size // 达到上限,不显示“添加” - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/adapter/ManagePointAdapter.kt b/app/src/main/java/com/casic/br/operationsite/adapter/ManagePointAdapter.kt index 5d03399..536c6cb 100644 --- a/app/src/main/java/com/casic/br/operationsite/adapter/ManagePointAdapter.kt +++ b/app/src/main/java/com/casic/br/operationsite/adapter/ManagePointAdapter.kt @@ -15,7 +15,6 @@ class ManagePointAdapter( private val context: Context, - private val line: Int, private val points: MutableList, private val countLimit: Int ) : RecyclerView.Adapter() { @@ -30,9 +29,19 @@ ) } + override fun getItemCount(): Int { + return if (points.isEmpty()) { + 1 // 没有数据时只显示“添加” + } else if (points.size < countLimit) { + points.size + 1 // 显示数据 + “添加” + } else { + points.size // 达到上限,不显示“添加” + } + } + override fun onBindViewHolder(holder: ViewHolder, position: Int) { val textView = holder.getView(R.id.textView) - if (position == itemCount - 1 && points.isNotEmpty() && points.size < countLimit) { + if (position == itemCount - 1 && points.size < countLimit) { textView.text = "添加" textView.setTextColor(R.color.greenColor.convertColor(context)) textView.setOnClickListener { @@ -41,8 +50,8 @@ if (find == null) { val pointBean = PointBean().apply { firstType = 92 - secondType = line - thirdType = pointBeanDao.queryPointByLine(line).size + 1 + secondType = 1 + thirdType = pointBeanDao.firstLinePoints.size + 1 } pointBeanDao.insert(pointBean) points.add(pointBean) @@ -66,6 +75,9 @@ } } } else { + if (points.isEmpty()) { + return + } val currentThirdType = points[position].thirdType textView.text = "预置点位 $currentThirdType" textView.setTextColor(R.color.mainTextColor.convertColor(context)) @@ -98,14 +110,4 @@ } } } - - override fun getItemCount(): Int { - return if (points.isEmpty()) { - 1 // 没有数据时只显示“添加” - } else if (points.size < countLimit) { - points.size + 1 // 显示数据 + “添加” - } else { - points.size // 达到上限,不显示“添加” - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/dao/PointBeanDao.java b/app/src/main/java/com/casic/br/operationsite/dao/PointBeanDao.java index d1c5623..b616509 100644 --- a/app/src/main/java/com/casic/br/operationsite/dao/PointBeanDao.java +++ b/app/src/main/java/com/casic/br/operationsite/dao/PointBeanDao.java @@ -18,8 +18,8 @@ @Query("SELECT * FROM camera_inspection_point") List loadAll(); - @Query("SELECT * FROM camera_inspection_point WHERE secondType = :line") - List queryPointByLine(int line); + @Query("SELECT * FROM camera_inspection_point WHERE secondType = 1") + List getFirstLinePoints(); @Update void updatePoint(PointBean point); diff --git a/app/src/main/java/com/casic/br/operationsite/adapter/ManagePointAdapter.kt b/app/src/main/java/com/casic/br/operationsite/adapter/ManagePointAdapter.kt index 5d03399..536c6cb 100644 --- a/app/src/main/java/com/casic/br/operationsite/adapter/ManagePointAdapter.kt +++ b/app/src/main/java/com/casic/br/operationsite/adapter/ManagePointAdapter.kt @@ -15,7 +15,6 @@ class ManagePointAdapter( private val context: Context, - private val line: Int, private val points: MutableList, private val countLimit: Int ) : RecyclerView.Adapter() { @@ -30,9 +29,19 @@ ) } + override fun getItemCount(): Int { + return if (points.isEmpty()) { + 1 // 没有数据时只显示“添加” + } else if (points.size < countLimit) { + points.size + 1 // 显示数据 + “添加” + } else { + points.size // 达到上限,不显示“添加” + } + } + override fun onBindViewHolder(holder: ViewHolder, position: Int) { val textView = holder.getView(R.id.textView) - if (position == itemCount - 1 && points.isNotEmpty() && points.size < countLimit) { + if (position == itemCount - 1 && points.size < countLimit) { textView.text = "添加" textView.setTextColor(R.color.greenColor.convertColor(context)) textView.setOnClickListener { @@ -41,8 +50,8 @@ if (find == null) { val pointBean = PointBean().apply { firstType = 92 - secondType = line - thirdType = pointBeanDao.queryPointByLine(line).size + 1 + secondType = 1 + thirdType = pointBeanDao.firstLinePoints.size + 1 } pointBeanDao.insert(pointBean) points.add(pointBean) @@ -66,6 +75,9 @@ } } } else { + if (points.isEmpty()) { + return + } val currentThirdType = points[position].thirdType textView.text = "预置点位 $currentThirdType" textView.setTextColor(R.color.mainTextColor.convertColor(context)) @@ -98,14 +110,4 @@ } } } - - override fun getItemCount(): Int { - return if (points.isEmpty()) { - 1 // 没有数据时只显示“添加” - } else if (points.size < countLimit) { - points.size + 1 // 显示数据 + “添加” - } else { - points.size // 达到上限,不显示“添加” - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/dao/PointBeanDao.java b/app/src/main/java/com/casic/br/operationsite/dao/PointBeanDao.java index d1c5623..b616509 100644 --- a/app/src/main/java/com/casic/br/operationsite/dao/PointBeanDao.java +++ b/app/src/main/java/com/casic/br/operationsite/dao/PointBeanDao.java @@ -18,8 +18,8 @@ @Query("SELECT * FROM camera_inspection_point") List loadAll(); - @Query("SELECT * FROM camera_inspection_point WHERE secondType = :line") - List queryPointByLine(int line); + @Query("SELECT * FROM camera_inspection_point WHERE secondType = 1") + List getFirstLinePoints(); @Update void updatePoint(PointBean point); diff --git a/app/src/main/java/com/casic/br/operationsite/widgets/ManagePointDialog.kt b/app/src/main/java/com/casic/br/operationsite/widgets/ManagePointDialog.kt index b4b26d4..fc9fa2d 100644 --- a/app/src/main/java/com/casic/br/operationsite/widgets/ManagePointDialog.kt +++ b/app/src/main/java/com/casic/br/operationsite/widgets/ManagePointDialog.kt @@ -4,7 +4,6 @@ import android.content.Context import android.graphics.Color import android.os.Bundle -import android.view.View import com.casic.br.operationsite.adapter.ManagePointAdapter import com.casic.br.operationsite.base.BaseApplication import com.casic.br.operationsite.databinding.DialogManagePointBinding @@ -17,12 +16,10 @@ private val kTag = "ManagePointDialog" private val pointBeanDao by lazy { BaseApplication.get().dataBase.pointBeanDao() } private val context = builder.context - private val line = builder.line private val listener = builder.listener class Builder { lateinit var context: Context - var line = 1 lateinit var listener: OnDialogButtonClickListener fun setContext(context: Context): Builder { @@ -30,11 +27,6 @@ return this } - fun setLine(line: Int): Builder { - this.line = line - return this - } - fun setOnDialogButtonClickListener(listener: OnDialogButtonClickListener): Builder { this.listener = listener return this @@ -49,21 +41,13 @@ override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - initDialogLayoutParams(0.8f, 0.5f) + initDialogLayoutParams(0.8f, 0.6f) setCanceledOnTouchOutside(false) setCancelable(false) - val beans = pointBeanDao.queryPointByLine(line) - if (beans.isEmpty()) { - binding.emptyView.visibility = View.VISIBLE - binding.recyclerView.visibility = View.GONE - } else { - binding.emptyView.visibility = View.GONE - binding.recyclerView.visibility = View.VISIBLE - val pointAdapter = ManagePointAdapter(context, line, beans, 8) - binding.recyclerView.adapter = pointAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemDivider(0f, 0f, Color.LTGRAY)) - } + val pointAdapter = ManagePointAdapter(context, pointBeanDao.firstLinePoints, 8) + binding.recyclerView.adapter = pointAdapter + binding.recyclerView.addItemDecoration(RecyclerViewItemDivider(0f, 0f, Color.LTGRAY)) binding.textView.isSelected = true diff --git a/app/src/main/java/com/casic/br/operationsite/adapter/ManagePointAdapter.kt b/app/src/main/java/com/casic/br/operationsite/adapter/ManagePointAdapter.kt index 5d03399..536c6cb 100644 --- a/app/src/main/java/com/casic/br/operationsite/adapter/ManagePointAdapter.kt +++ b/app/src/main/java/com/casic/br/operationsite/adapter/ManagePointAdapter.kt @@ -15,7 +15,6 @@ class ManagePointAdapter( private val context: Context, - private val line: Int, private val points: MutableList, private val countLimit: Int ) : RecyclerView.Adapter() { @@ -30,9 +29,19 @@ ) } + override fun getItemCount(): Int { + return if (points.isEmpty()) { + 1 // 没有数据时只显示“添加” + } else if (points.size < countLimit) { + points.size + 1 // 显示数据 + “添加” + } else { + points.size // 达到上限,不显示“添加” + } + } + override fun onBindViewHolder(holder: ViewHolder, position: Int) { val textView = holder.getView(R.id.textView) - if (position == itemCount - 1 && points.isNotEmpty() && points.size < countLimit) { + if (position == itemCount - 1 && points.size < countLimit) { textView.text = "添加" textView.setTextColor(R.color.greenColor.convertColor(context)) textView.setOnClickListener { @@ -41,8 +50,8 @@ if (find == null) { val pointBean = PointBean().apply { firstType = 92 - secondType = line - thirdType = pointBeanDao.queryPointByLine(line).size + 1 + secondType = 1 + thirdType = pointBeanDao.firstLinePoints.size + 1 } pointBeanDao.insert(pointBean) points.add(pointBean) @@ -66,6 +75,9 @@ } } } else { + if (points.isEmpty()) { + return + } val currentThirdType = points[position].thirdType textView.text = "预置点位 $currentThirdType" textView.setTextColor(R.color.mainTextColor.convertColor(context)) @@ -98,14 +110,4 @@ } } } - - override fun getItemCount(): Int { - return if (points.isEmpty()) { - 1 // 没有数据时只显示“添加” - } else if (points.size < countLimit) { - points.size + 1 // 显示数据 + “添加” - } else { - points.size // 达到上限,不显示“添加” - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/dao/PointBeanDao.java b/app/src/main/java/com/casic/br/operationsite/dao/PointBeanDao.java index d1c5623..b616509 100644 --- a/app/src/main/java/com/casic/br/operationsite/dao/PointBeanDao.java +++ b/app/src/main/java/com/casic/br/operationsite/dao/PointBeanDao.java @@ -18,8 +18,8 @@ @Query("SELECT * FROM camera_inspection_point") List loadAll(); - @Query("SELECT * FROM camera_inspection_point WHERE secondType = :line") - List queryPointByLine(int line); + @Query("SELECT * FROM camera_inspection_point WHERE secondType = 1") + List getFirstLinePoints(); @Update void updatePoint(PointBean point); diff --git a/app/src/main/java/com/casic/br/operationsite/widgets/ManagePointDialog.kt b/app/src/main/java/com/casic/br/operationsite/widgets/ManagePointDialog.kt index b4b26d4..fc9fa2d 100644 --- a/app/src/main/java/com/casic/br/operationsite/widgets/ManagePointDialog.kt +++ b/app/src/main/java/com/casic/br/operationsite/widgets/ManagePointDialog.kt @@ -4,7 +4,6 @@ import android.content.Context import android.graphics.Color import android.os.Bundle -import android.view.View import com.casic.br.operationsite.adapter.ManagePointAdapter import com.casic.br.operationsite.base.BaseApplication import com.casic.br.operationsite.databinding.DialogManagePointBinding @@ -17,12 +16,10 @@ private val kTag = "ManagePointDialog" private val pointBeanDao by lazy { BaseApplication.get().dataBase.pointBeanDao() } private val context = builder.context - private val line = builder.line private val listener = builder.listener class Builder { lateinit var context: Context - var line = 1 lateinit var listener: OnDialogButtonClickListener fun setContext(context: Context): Builder { @@ -30,11 +27,6 @@ return this } - fun setLine(line: Int): Builder { - this.line = line - return this - } - fun setOnDialogButtonClickListener(listener: OnDialogButtonClickListener): Builder { this.listener = listener return this @@ -49,21 +41,13 @@ override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - initDialogLayoutParams(0.8f, 0.5f) + initDialogLayoutParams(0.8f, 0.6f) setCanceledOnTouchOutside(false) setCancelable(false) - val beans = pointBeanDao.queryPointByLine(line) - if (beans.isEmpty()) { - binding.emptyView.visibility = View.VISIBLE - binding.recyclerView.visibility = View.GONE - } else { - binding.emptyView.visibility = View.GONE - binding.recyclerView.visibility = View.VISIBLE - val pointAdapter = ManagePointAdapter(context, line, beans, 8) - binding.recyclerView.adapter = pointAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemDivider(0f, 0f, Color.LTGRAY)) - } + val pointAdapter = ManagePointAdapter(context, pointBeanDao.firstLinePoints, 8) + binding.recyclerView.adapter = pointAdapter + binding.recyclerView.addItemDecoration(RecyclerViewItemDivider(0f, 0f, Color.LTGRAY)) binding.textView.isSelected = true diff --git a/app/src/main/res/layout/dialog_manage_point.xml b/app/src/main/res/layout/dialog_manage_point.xml index 4878017..1d08af8 100644 --- a/app/src/main/res/layout/dialog_manage_point.xml +++ b/app/src/main/res/layout/dialog_manage_point.xml @@ -26,24 +26,12 @@ android:layout_height="@dimen/lineViewSize" android:background="@color/hintTextColor" /> - - - - - - + app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />