编录点新增3

This commit is contained in:
2025-09-26 22:52:04 +08:00
parent 0a837a98b8
commit 8839320484
9 changed files with 107 additions and 91 deletions
@@ -1,5 +1,6 @@
package com.zmkg.coaloperation.adapter
import android.content.Intent
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.core.graphics.toColorInt
@@ -8,6 +9,7 @@ import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.zmkg.coaloperation.R
import com.zmkg.coaloperation.bean.GeoPointItem
import com.zmkg.coaloperation.databinding.ItemGeologicalPointBinding
import com.zmkg.coaloperation.ui.geologging.AddGeologicalPointActivity
import com.zmkg.coaloperation.utils.gone
import com.zmkg.coaloperation.utils.visible
@@ -67,7 +69,7 @@ class GeoPointAdapter(list: MutableList<GeoPointItem>) :
binding.btnAddPoint.run {
if (!item.isLogging && index == data.size-1) visible() else gone()
setOnClickListener {
it.context.startActivity(Intent(it.context, AddGeologicalPointActivity::class.java))
}
}
}
@@ -0,0 +1,34 @@
package com.zmkg.coaloperation.adapter
import android.view.LayoutInflater
import android.view.ViewGroup
import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.zmkg.coaloperation.R
import com.zmkg.coaloperation.bean.GeoPointImage
import com.zmkg.coaloperation.databinding.ListItemPointImageBinding
class GeoPointImageAdapter(list: MutableList<GeoPointImage>):
BaseQuickAdapter<GeoPointImage, GeoPointImageAdapter.VH>(
R.layout.list_item_point_image, list
){
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VH {
val binding = ListItemPointImageBinding.inflate(
LayoutInflater.from(context), parent, false
)
return VH(binding).also {
bindViewClickListener(it, viewType)
}
}
override fun convert(
holder: VH,
item: GeoPointImage
) {
holder.binding.ivPointImage.setImageResource(R.drawable.ic_add_image)
}
inner class VH(var binding: ListItemPointImageBinding): BaseViewHolder(binding.root)
}
@@ -10,8 +10,12 @@ import com.chad.library.adapter.base.BaseMultiItemQuickAdapter
import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.zmkg.coaloperation.R
import com.zmkg.coaloperation.bean.BaseItem
import com.zmkg.coaloperation.bean.GeoPointImage
import com.zmkg.coaloperation.bean.GeoPointMultiItem
import com.zmkg.coaloperation.databinding.ListItemPointBaseHorizontalBinding
import com.zmkg.coaloperation.databinding.ListItemPointBaseVerticalBinding
import com.zmkg.coaloperation.utils.gone
import com.zmkg.coaloperation.utils.visible
class GeoPointMultiAdapter(list: MutableList<GeoPointMultiItem>):
BaseMultiItemQuickAdapter<GeoPointMultiItem, BaseViewHolder>(list){
@@ -45,9 +49,19 @@ class GeoPointMultiAdapter(list: MutableList<GeoPointMultiItem>):
private fun loadUploadImage(holder: BaseViewHolder,item: GeoPointMultiItem) {
val rvImageList = holder.itemView.findViewById<RecyclerView>(R.id.rvImageList)
rvImageList.let {
it.layoutManager = GridLayoutManager(it.context, 4, GridLayoutManager.VERTICAL, false)
// it.adapter = GeoPointImageAdapter
val images = mutableListOf(
GeoPointImage(),
GeoPointImage(),
GeoPointImage(),
GeoPointImage()
)
rvImageList.let {rv->
rv.layoutManager = GridLayoutManager(rv.context, 4, GridLayoutManager.VERTICAL, false)
rv.adapter = GeoPointImageAdapter(images).also {
it.setOnItemClickListener { adapter, view, position ->
}
}
}
}
@@ -71,7 +85,7 @@ class GeoPointMultiAdapter(list: MutableList<GeoPointMultiItem>):
BaseItem(name = "巷顶煤厚", value = "0.15"),
)
topList.forEach {
val itemBinding = ListItemPointBaseHorizontalBinding.inflate(LayoutInflater.from(context))
val itemBinding = ListItemPointBaseHorizontalBinding.inflate(LayoutInflater.from(context), llBaseTop, false)
itemBinding.run {
tvItemName.text = it.name
tvItemValue.text = it.value
@@ -81,10 +95,13 @@ class GeoPointMultiAdapter(list: MutableList<GeoPointMultiItem>):
val llBaseBottom = holder.itemView.findViewById<LinearLayout>(R.id.llBaseBottom)
bottomList.forEachIndexed {index, it ->
val itemBinding = ListItemPointBaseHorizontalBinding.inflate(LayoutInflater.from(context))
val itemBinding = ListItemPointBaseVerticalBinding.inflate(LayoutInflater.from(context),llBaseBottom, false)
itemBinding.run {
tvItemName.text = it.name
tvItemValue.text = it.value
dividerVertical.run {
if (index == bottomList.size - 1) gone() else visible()
}
}
itemBinding.root.updateLayoutParams<LinearLayout.LayoutParams> {
width = 0
@@ -71,3 +71,7 @@ data class GeoPointMultiItem(
const val TYPE_UPLOAD_IMAGE = 4
}
}
data class GeoPointImage(
var imagePath: String = ""
)
@@ -2,54 +2,31 @@ package com.zmkg.coaloperation.ui.geologging
import android.os.Bundle
import android.view.View
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.fragment.app.Fragment
import androidx.fragment.app.commit
import com.zmkg.coaloperation.R
import com.zmkg.coaloperation.adapter.GeoPointParentAdapter
import com.zmkg.coaloperation.base.BaseVMBActivity
import com.zmkg.coaloperation.base.viewmodel.TestViewModel
import com.zmkg.coaloperation.bean.GeoPointItem
import com.zmkg.coaloperation.bean.GeoPointParent
import com.zmkg.coaloperation.databinding.ActivityGeologicalPointBinding
import com.zmkg.coaloperation.databinding.ActivityAddGeologicalPointBinding
/**
* 地质编录点新增
*/
class AddGeologicalPointActivity :
BaseVMBActivity<TestViewModel, ActivityGeologicalPointBinding>(R.layout.activity_add_geological_point) {
BaseVMBActivity<TestViewModel, ActivityAddGeologicalPointBinding>(R.layout.activity_add_geological_point) {
private val parentList: MutableList<GeoPointParent> = mutableListOf(
GeoPointParent(name = "已编录点"),
GeoPointParent(name = "未编录点")
)
private val parentAdapter by lazy {
GeoPointParentAdapter(parentList)
}
override fun initView(savedInstanceState: Bundle?) {
mBinding.toolbarLay.title = "编录点"
// mBinding.toolbarLay.rightText = "新增工作面"
val subList = mutableListOf(
GeoPointItem(isLogging = true, name = "1#", distance = "0", isChecked = true),
GeoPointItem(isLogging = true, name = "2#", distance = "24.252"),
GeoPointItem(isLogging = true, name = "3#", distance = "37.859"),
GeoPointItem(isLogging = true, name = "4#", distance = "43.123"),
GeoPointItem(isLogging = true, name = "5#", distance = "50.567"),
GeoPointItem(isLogging = true, name = "6#", distance = "60.567"),
GeoPointItem(isLogging = true, name = "7#", distance = "70.567")
)
val subList2 = mutableListOf(
GeoPointItem(name = "1#", distance = "0"),
GeoPointItem(name = "2#", distance = "24.252"),
GeoPointItem(name = "3#", distance = "37.859"),
GeoPointItem(name = "4#", distance = "56.859"),
GeoPointItem(name = "5#", distance = "89.859")
)
parentList[0].list = subList
parentList[1].list = subList2
mBinding.rvPointParent.let {
it.layoutManager = LinearLayoutManager(this)
it.adapter = parentAdapter
initFragments()
//switchFragment(0)
supportFragmentManager.commit {
setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out)
show(fragments[0])
setReorderingAllowed(true)
}
}
@@ -61,4 +38,31 @@ class AddGeologicalPointActivity :
override fun processClick(v: View?) {
}
private val fragments = mutableListOf<Fragment>()
private fun initFragments() {
fragments.apply {
add(AddGeologicalPointFragment())
add(AddGeologicalPointFragment())
add(AddGeologicalPointFragment())
add(AddGeologicalPointFragment())
add(AddGeologicalPointFragment())
}
supportFragmentManager.commit {
// add(R.id.fragment_container, fragments[0], "volume").hide(fragments[0])
replace(R.id.frgContainerView, fragments[0], "point01")
}
}
private fun switchFragment(position: Int) {
supportFragmentManager.commit {
setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out)
fragments.forEachIndexed { index, fragment ->
if (index == position) show(fragment) else hide(fragment)
}
setReorderingAllowed(true)
}
}
}
@@ -5,7 +5,7 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
tools:background="@color/black_bg">
@@ -13,7 +13,8 @@
android:orientation="horizontal">
<LinearLayout
android:layout_width="match_parent"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
@@ -62,14 +62,13 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="20dp"
android:layout_marginEnd="15dp"
android:background="@drawable/bottom_border"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginStart="20dp"
android:layout_weight="1">
<TextView
@@ -101,6 +100,7 @@
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginStart="15dp"
android:layout_marginEnd="15dp"
android:layout_weight="1">
<TextView
@@ -1,46 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
</data>
<!-- <FrameLayout-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="50dp"-->
<!-- tools:background="@color/black_bg">-->
<!-- <TextView-->
<!-- android:id="@+id/tvItemName"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="match_parent"-->
<!-- android:layout_gravity="start"-->
<!-- android:gravity="center_vertical"-->
<!-- android:textColor="#6A6F87"-->
<!-- android:textSize="16sp"-->
<!-- android:maxLines="1"-->
<!-- android:ellipsize="end"-->
<!-- android:layout_marginStart="20dp"-->
<!-- tools:text="瓦斯含量" />-->
<!-- <EditText-->
<!-- android:id="@+id/etItemValue"-->
<!-- android:layout_width="80dp"-->
<!-- android:layout_height="30dp"-->
<!-- android:background="@drawable/bg_solid_black"-->
<!-- android:gravity="center_vertical"-->
<!-- android:maxLines="1"-->
<!-- android:layout_gravity="end|center_vertical"-->
<!-- android:textCursorDrawable="@drawable/cursor_white"-->
<!-- android:paddingStart="5dp"-->
<!-- android:paddingEnd="5dp"-->
<!-- android:layout_marginEnd="20dp"-->
<!-- android:textColor="@color/white"-->
<!-- android:textColorHint="#757B8C"-->
<!-- android:hint="请输入"-->
<!-- android:textSize="14sp" />-->
<!-- </FrameLayout>-->
</layout>