调整中控联动UI

This commit is contained in:
squallzhjch 2023-06-14 14:06:13 +08:00
parent 46fa06d1a8
commit 876d5bef44
2 changed files with 10 additions and 16 deletions

View File

@ -4,21 +4,17 @@ import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.Toast
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
import androidx.fragment.app.FragmentController
import androidx.fragment.app.viewModels import androidx.fragment.app.viewModels
import androidx.navigation.fragment.findNavController
import com.navinfo.omqs.databinding.FragmentLayerManagerBinding import com.navinfo.omqs.databinding.FragmentLayerManagerBinding
import com.navinfo.omqs.ui.fragment.BaseFragment import com.navinfo.omqs.ui.fragment.BaseFragment
class LayerManagerFragment(private var backListener: (() -> Unit?)? = null) : BaseFragment(){ class LayerManagerFragment(private var backListener: (() -> Unit?)? = null) : BaseFragment() {
private var _binding: FragmentLayerManagerBinding? = null private var _binding: FragmentLayerManagerBinding? = null
private val binding get() = _binding!! private val binding get() = _binding!!
private val viewModel by viewModels<LayerManagerViewModel>() private val viewModel by viewModels<LayerManagerViewModel>()
// private val viewModel by lazy { viewModels<EvaluationResultViewModel>().value}
// private val viewModel by lazy { viewModels<EvaluationResultViewModel>().value}
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
@ -29,12 +25,13 @@ class LayerManagerFragment(private var backListener: (() -> Unit?)? = null) : Ba
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
val adapter = LayerManagerExpandableListAdapter(requireContext(), viewModel.getLayerConfigList()) val adapter =
LayerManagerExpandableListAdapter(requireContext(), viewModel.getLayerConfigList())
binding.elvLayerManager.setAdapter(adapter) binding.elvLayerManager.setAdapter(adapter)
// 默认显示第一个父项下的子类 // 默认显示第一个父项下的子类
binding.elvLayerManager.expandGroup(0) binding.elvLayerManager.expandGroup(0)
binding.elvLayerManager.setGroupIndicator(null) binding.elvLayerManager.setGroupIndicator(null)
binding.elvLayerManager.setOnGroupClickListener { expandableListView, view, groupPosition, l -> binding.elvLayerManager.setOnGroupClickListener { expandableListView, _, groupPosition, _ ->
if (expandableListView.isGroupExpanded(groupPosition)) { if (expandableListView.isGroupExpanded(groupPosition)) {
binding.elvLayerManager.collapseGroup(groupPosition) binding.elvLayerManager.collapseGroup(groupPosition)
} else { } else {
@ -43,7 +40,7 @@ class LayerManagerFragment(private var backListener: (() -> Unit?)? = null) : Ba
} }
binding.imgConfirm.setOnClickListener { binding.imgConfirm.setOnClickListener {
viewModel.saveLayerConfigList(requireContext(),adapter.parentItems) viewModel.saveLayerConfigList(requireContext(), adapter.parentItems)
} }
binding.imgBack.setOnClickListener { binding.imgBack.setOnClickListener {
@ -53,7 +50,7 @@ class LayerManagerFragment(private var backListener: (() -> Unit?)? = null) : Ba
binding.tvTitle.text = "图层管理"//findNavController().currentDestination?.label binding.tvTitle.text = "图层管理"//findNavController().currentDestination?.label
binding.imgConfirm.setOnClickListener { // 用户点击确认,重新设置当前的图层显隐控制 binding.imgConfirm.setOnClickListener { // 用户点击确认,重新设置当前的图层显隐控制
viewModel.saveLayerConfigList(adapter.parentItems) viewModel.saveLayerConfigList(requireContext(), adapter.parentItems)
backListener?.invoke() backListener?.invoke()
} }
} }

View File

@ -4,10 +4,8 @@ import android.content.Context
import android.widget.Toast import android.widget.Toast
import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewModelScope
import com.blankj.utilcode.util.FileIOUtils
import com.blankj.utilcode.util.SPStaticUtils import com.blankj.utilcode.util.SPStaticUtils
import com.google.gson.Gson import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import com.navinfo.omqs.Constant import com.navinfo.omqs.Constant
import com.navinfo.omqs.bean.ImportConfig import com.navinfo.omqs.bean.ImportConfig
import com.navinfo.omqs.tools.LayerConfigUtils import com.navinfo.omqs.tools.LayerConfigUtils
@ -15,9 +13,8 @@ import com.navinfo.omqs.util.FlowEventBus
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
import java.io.File
class LayerManagerViewModel(): ViewModel() { class LayerManagerViewModel() : ViewModel() {
private val gson = Gson() private val gson = Gson()
fun getLayerConfigList(): List<ImportConfig> { fun getLayerConfigList(): List<ImportConfig> {