增加看板进数据编辑页面
This commit is contained in:
parent
efe5d43555
commit
ebbb9b99b2
@ -5,6 +5,7 @@ plugins {
|
|||||||
id 'com.google.dagger.hilt.android'
|
id 'com.google.dagger.hilt.android'
|
||||||
id 'realm-android'
|
id 'realm-android'
|
||||||
id 'kotlin-parcelize' // 序列化
|
id 'kotlin-parcelize' // 序列化
|
||||||
|
id 'androidx.navigation.safeargs.kotlin'//Safe Args传递数据
|
||||||
}
|
}
|
||||||
android {
|
android {
|
||||||
namespace 'com.navinfo.omqs'
|
namespace 'com.navinfo.omqs'
|
||||||
@ -109,6 +110,8 @@ dependencies {
|
|||||||
|
|
||||||
// 读取spatialite文件
|
// 读取spatialite文件
|
||||||
implementation 'com.github.sevar83:android-spatialite:2.0.1'
|
implementation 'com.github.sevar83:android-spatialite:2.0.1'
|
||||||
|
//fragment 传递数据
|
||||||
|
implementation "androidx.navigation:navigation-ui-ktx:2.5.3"
|
||||||
}
|
}
|
||||||
//允许引用生成的代码
|
//允许引用生成的代码
|
||||||
kapt {
|
kapt {
|
||||||
|
15
app/src/main/java/com/navinfo/omqs/bean/SignBean.kt
Normal file
15
app/src/main/java/com/navinfo/omqs/bean/SignBean.kt
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
package com.navinfo.omqs.bean
|
||||||
|
|
||||||
|
import android.os.Parcelable
|
||||||
|
import kotlinx.parcelize.Parcelize
|
||||||
|
|
||||||
|
@Parcelize
|
||||||
|
data class SignBean(
|
||||||
|
//图标ID
|
||||||
|
val iconId: Int,
|
||||||
|
val distance: Int = 0,
|
||||||
|
val iconText: String = "",
|
||||||
|
val elementId: String = "",
|
||||||
|
val linkId: String,
|
||||||
|
val geometry: String,
|
||||||
|
) : Parcelable
|
@ -20,7 +20,6 @@ import org.oscim.core.MercatorProjection
|
|||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import kotlin.streams.toList
|
import kotlin.streams.toList
|
||||||
|
|
||||||
@RequiresApi(Build.VERSION_CODES.N)
|
|
||||||
class RealmOperateHelper() {
|
class RealmOperateHelper() {
|
||||||
@Inject
|
@Inject
|
||||||
lateinit var niMapController: NIMapController
|
lateinit var niMapController: NIMapController
|
||||||
@ -32,6 +31,7 @@ class RealmOperateHelper() {
|
|||||||
* @param bufferType 点位外扩距离的单位: 米-Meter,像素-PIXEL
|
* @param bufferType 点位外扩距离的单位: 米-Meter,像素-PIXEL
|
||||||
* @param sort 是否需要排序
|
* @param sort 是否需要排序
|
||||||
* */
|
* */
|
||||||
|
@RequiresApi(Build.VERSION_CODES.N)
|
||||||
suspend fun queryLink(
|
suspend fun queryLink(
|
||||||
point: Point,
|
point: Point,
|
||||||
buffer: Double = DEFAULT_BUFFER,
|
buffer: Double = DEFAULT_BUFFER,
|
||||||
@ -102,6 +102,7 @@ class RealmOperateHelper() {
|
|||||||
* @param bufferType 点位外扩距离的单位: 米-Meter,像素-PIXEL
|
* @param bufferType 点位外扩距离的单位: 米-Meter,像素-PIXEL
|
||||||
* @param sort 是否需要排序
|
* @param sort 是否需要排序
|
||||||
* */
|
* */
|
||||||
|
@RequiresApi(Build.VERSION_CODES.N)
|
||||||
suspend fun queryElement(
|
suspend fun queryElement(
|
||||||
point: Point,
|
point: Point,
|
||||||
buffer: Double = DEFAULT_BUFFER,
|
buffer: Double = DEFAULT_BUFFER,
|
||||||
@ -154,12 +155,13 @@ class RealmOperateHelper() {
|
|||||||
suspend fun queryLinkByLinkPid(linkPid: String): MutableList<RenderEntity> {
|
suspend fun queryLinkByLinkPid(linkPid: String): MutableList<RenderEntity> {
|
||||||
val result = mutableListOf<RenderEntity>()
|
val result = mutableListOf<RenderEntity>()
|
||||||
withContext(Dispatchers.IO) {
|
withContext(Dispatchers.IO) {
|
||||||
val realmList = Realm.getDefaultInstance().where(RenderEntity::class.java)
|
val realm = Realm.getDefaultInstance()
|
||||||
|
val realmList = realm.where(RenderEntity::class.java)
|
||||||
.notEqualTo("table", "OMDB_RD_LINK")
|
.notEqualTo("table", "OMDB_RD_LINK")
|
||||||
.and()
|
.and()
|
||||||
.equalTo("properties['${LinkTable.linkPid}']", linkPid)
|
.equalTo("properties['${LinkTable.linkPid}']", linkPid)
|
||||||
.findAll()
|
.findAll()
|
||||||
result.addAll(realmList)
|
result.addAll(realm.copyFromRealm(realmList))
|
||||||
}
|
}
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
@ -1,16 +1,12 @@
|
|||||||
package com.navinfo.omqs.ui.activity.map
|
package com.navinfo.omqs.ui.activity.map
|
||||||
|
|
||||||
import android.os.Build
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.activity.viewModels
|
import androidx.activity.viewModels
|
||||||
import androidx.annotation.RequiresApi
|
|
||||||
import androidx.core.view.WindowCompat
|
import androidx.core.view.WindowCompat
|
||||||
import androidx.databinding.DataBindingUtil
|
import androidx.databinding.DataBindingUtil
|
||||||
import androidx.navigation.findNavController
|
import androidx.navigation.findNavController
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import com.blankj.utilcode.util.ToastUtils
|
|
||||||
import com.navinfo.collect.library.map.NIMapController
|
import com.navinfo.collect.library.map.NIMapController
|
||||||
import com.navinfo.collect.library.map.handler.NiLocationListener
|
|
||||||
import com.navinfo.omqs.Constant
|
import com.navinfo.omqs.Constant
|
||||||
import com.navinfo.omqs.R
|
import com.navinfo.omqs.R
|
||||||
import com.navinfo.omqs.databinding.ActivityMainBinding
|
import com.navinfo.omqs.databinding.ActivityMainBinding
|
||||||
@ -35,7 +31,25 @@ class MainActivity : BaseActivity() {
|
|||||||
@Inject
|
@Inject
|
||||||
lateinit var offlineMapDownloadManager: OfflineMapDownloadManager
|
lateinit var offlineMapDownloadManager: OfflineMapDownloadManager
|
||||||
|
|
||||||
private val signAdapter by lazy { SignAdapter() }
|
private val rightController by lazy {
|
||||||
|
findNavController(R.id.main_activity_right_fragment)
|
||||||
|
}
|
||||||
|
|
||||||
|
private val signAdapter by lazy {
|
||||||
|
SignAdapter { position, signBean ->
|
||||||
|
// val directions =
|
||||||
|
// EmptyFragmentDirections.emptyFragmentToEvaluationResultFragment(
|
||||||
|
// )
|
||||||
|
// rightController.navigate(directions)
|
||||||
|
rightController.currentDestination?.let {
|
||||||
|
if(it.id == R.id.EvaluationResultFragment){
|
||||||
|
val bundle = Bundle()
|
||||||
|
bundle.putParcelable("SignBean", signBean)
|
||||||
|
rightController.navigate(R.id.EvaluationResultFragment, bundle)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
WindowCompat.setDecorFitsSystemWindows(window, false)
|
WindowCompat.setDecorFitsSystemWindows(window, false)
|
||||||
@ -113,8 +127,7 @@ class MainActivity : BaseActivity() {
|
|||||||
* 点击录音按钮
|
* 点击录音按钮
|
||||||
*/
|
*/
|
||||||
fun voiceOnclick() {
|
fun voiceOnclick() {
|
||||||
val naviController = findNavController(R.id.main_activity_right_fragment)
|
rightController.navigate(R.id.EvaluationResultFragment)
|
||||||
naviController.navigate(R.id.EvaluationResultFragment)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// override fun onBackPressed() {
|
// override fun onBackPressed() {
|
||||||
|
@ -5,27 +5,22 @@ import android.content.DialogInterface
|
|||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import androidx.annotation.RequiresApi
|
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import androidx.navigation.findNavController
|
import androidx.navigation.findNavController
|
||||||
import com.navinfo.collect.library.data.dao.impl.TraceDataBase
|
import com.navinfo.collect.library.data.dao.impl.TraceDataBase
|
||||||
import com.navinfo.collect.library.data.entity.NiLocation
|
|
||||||
import com.navinfo.collect.library.data.entity.RenderEntity
|
import com.navinfo.collect.library.data.entity.RenderEntity
|
||||||
import com.navinfo.collect.library.map.NIMapController
|
import com.navinfo.collect.library.map.NIMapController
|
||||||
import com.navinfo.collect.library.map.handler.NiLocationListener
|
|
||||||
import com.navinfo.collect.library.map.handler.OnQsRecordItemClickListener
|
import com.navinfo.collect.library.map.handler.OnQsRecordItemClickListener
|
||||||
import com.navinfo.collect.library.utils.GeometryTools
|
import com.navinfo.collect.library.utils.GeometryTools
|
||||||
import com.navinfo.collect.library.utils.GeometryToolsKt
|
import com.navinfo.collect.library.utils.GeometryToolsKt
|
||||||
import com.navinfo.omqs.Constant
|
|
||||||
import com.navinfo.omqs.R
|
import com.navinfo.omqs.R
|
||||||
|
import com.navinfo.omqs.bean.SignBean
|
||||||
import com.navinfo.omqs.db.RealmOperateHelper
|
import com.navinfo.omqs.db.RealmOperateHelper
|
||||||
import com.navinfo.omqs.ui.dialog.CommonDialog
|
import com.navinfo.omqs.ui.dialog.CommonDialog
|
||||||
import com.navinfo.omqs.ui.manager.TakePhotoManager
|
import com.navinfo.omqs.ui.manager.TakePhotoManager
|
||||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||||
import dagger.hilt.android.qualifiers.ActivityContext
|
|
||||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
|
||||||
import io.realm.RealmSet
|
import io.realm.RealmSet
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
@ -137,6 +132,9 @@ class MainViewModel @Inject constructor(
|
|||||||
iconId = R.drawable.icon_speed_limit,
|
iconId = R.drawable.icon_speed_limit,
|
||||||
iconText = element.name,
|
iconText = element.name,
|
||||||
distance = distance.toInt(),
|
distance = distance.toInt(),
|
||||||
|
elementId = element.id,
|
||||||
|
linkId = linkId,
|
||||||
|
geometry = element.geometry
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -161,7 +159,7 @@ class MainViewModel @Inject constructor(
|
|||||||
|
|
||||||
override fun onCleared() {
|
override fun onCleared() {
|
||||||
super.onCleared()
|
super.onCleared()
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||||
mapController.lineHandler.removeLine()
|
mapController.lineHandler.removeLine()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,11 +3,13 @@ package com.navinfo.omqs.ui.activity.map
|
|||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import com.navinfo.omqs.R
|
import com.navinfo.omqs.R
|
||||||
|
import com.navinfo.omqs.bean.SignBean
|
||||||
import com.navinfo.omqs.databinding.AdapterSignBinding
|
import com.navinfo.omqs.databinding.AdapterSignBinding
|
||||||
import com.navinfo.omqs.ui.other.BaseRecyclerViewAdapter
|
import com.navinfo.omqs.ui.other.BaseRecyclerViewAdapter
|
||||||
import com.navinfo.omqs.ui.other.BaseViewHolder
|
import com.navinfo.omqs.ui.other.BaseViewHolder
|
||||||
|
|
||||||
class SignAdapter : BaseRecyclerViewAdapter<SignBean>() {
|
class SignAdapter(private var itemListener: ((Int, SignBean) -> Unit?)? = null) :
|
||||||
|
BaseRecyclerViewAdapter<SignBean>() {
|
||||||
override fun getItemViewRes(position: Int): Int {
|
override fun getItemViewRes(position: Int): Int {
|
||||||
return R.layout.adapter_sign
|
return R.layout.adapter_sign
|
||||||
}
|
}
|
||||||
@ -23,6 +25,8 @@ class SignAdapter : BaseRecyclerViewAdapter<SignBean>() {
|
|||||||
val item = data[position]
|
val item = data[position]
|
||||||
bd.signMainIcon.background = holder.viewBinding.root.context.getDrawable(item.iconId)
|
bd.signMainIcon.background = holder.viewBinding.root.context.getDrawable(item.iconId)
|
||||||
bd.signMainIcon.text = item.iconText
|
bd.signMainIcon.text = item.iconText
|
||||||
|
bd.root.setOnClickListener {
|
||||||
|
itemListener?.invoke(position, item)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,8 +0,0 @@
|
|||||||
package com.navinfo.omqs.ui.activity.map
|
|
||||||
|
|
||||||
data class SignBean(
|
|
||||||
//图标ID
|
|
||||||
val iconId: Int,
|
|
||||||
val distance: Int = 0,
|
|
||||||
val iconText: String = ""
|
|
||||||
)
|
|
@ -8,6 +8,7 @@ import androidx.databinding.DataBindingUtil
|
|||||||
import androidx.navigation.NavOptions
|
import androidx.navigation.NavOptions
|
||||||
import androidx.navigation.findNavController
|
import androidx.navigation.findNavController
|
||||||
import com.navinfo.omqs.R
|
import com.navinfo.omqs.R
|
||||||
|
import com.navinfo.omqs.bean.SignBean
|
||||||
import com.navinfo.omqs.databinding.FragmentEvaluationResultBinding
|
import com.navinfo.omqs.databinding.FragmentEvaluationResultBinding
|
||||||
import com.navinfo.omqs.ui.fragment.BaseFragment
|
import com.navinfo.omqs.ui.fragment.BaseFragment
|
||||||
import com.navinfo.omqs.ui.other.shareViewModels
|
import com.navinfo.omqs.ui.other.shareViewModels
|
||||||
@ -18,6 +19,7 @@ class EvaluationResultFragment : BaseFragment(), View.OnClickListener {
|
|||||||
private lateinit var binding: FragmentEvaluationResultBinding
|
private lateinit var binding: FragmentEvaluationResultBinding
|
||||||
private val viewModel by shareViewModels<EvaluationResultViewModel>("QsRecode")
|
private val viewModel by shareViewModels<EvaluationResultViewModel>("QsRecode")
|
||||||
|
|
||||||
|
// private val args:EmptyFragmentArgs by navArgs()
|
||||||
override fun onCreateView(
|
override fun onCreateView(
|
||||||
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
|
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
|
||||||
): View {
|
): View {
|
||||||
@ -56,15 +58,21 @@ class EvaluationResultFragment : BaseFragment(), View.OnClickListener {
|
|||||||
/**
|
/**
|
||||||
* 读取元数据
|
* 读取元数据
|
||||||
*/
|
*/
|
||||||
if (arguments != null) {
|
// val id = args.qsId
|
||||||
val id = requireArguments().getString("QsId")
|
var id: String = ""
|
||||||
if (id != null) {
|
var signBean: SignBean? = null
|
||||||
viewModel.initData(id)
|
arguments?.let {
|
||||||
} else {
|
id = it.getString("QsId", "")
|
||||||
viewModel.initNewData()
|
try {
|
||||||
|
signBean = it.getParcelable("SignBean")
|
||||||
|
} catch (e: java.lang.Exception) {
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (id == null || id.isEmpty()) {
|
||||||
|
viewModel.initNewData(signBean)
|
||||||
} else {
|
} else {
|
||||||
viewModel.initNewData()
|
viewModel.initData(id)
|
||||||
}
|
}
|
||||||
|
|
||||||
// //监听大分类数据变化
|
// //监听大分类数据变化
|
||||||
|
@ -10,6 +10,7 @@ import com.navinfo.collect.library.data.entity.QsRecordBean
|
|||||||
import com.navinfo.collect.library.data.entity.RenderEntity.Companion.LinkTable
|
import com.navinfo.collect.library.data.entity.RenderEntity.Companion.LinkTable
|
||||||
import com.navinfo.collect.library.map.NIMapController
|
import com.navinfo.collect.library.map.NIMapController
|
||||||
import com.navinfo.collect.library.utils.GeometryTools
|
import com.navinfo.collect.library.utils.GeometryTools
|
||||||
|
import com.navinfo.omqs.bean.SignBean
|
||||||
import com.navinfo.omqs.db.RealmOperateHelper
|
import com.navinfo.omqs.db.RealmOperateHelper
|
||||||
import com.navinfo.omqs.db.RoomAppDatabase
|
import com.navinfo.omqs.db.RoomAppDatabase
|
||||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||||
@ -73,7 +74,7 @@ class EvaluationResultViewModel @Inject constructor(
|
|||||||
super.onCleared()
|
super.onCleared()
|
||||||
Log.e("jingo", "EvaluationResultViewModel 销毁了 ${hashCode()}")
|
Log.e("jingo", "EvaluationResultViewModel 销毁了 ${hashCode()}")
|
||||||
mapController.markerHandle.removeMarker(markerTitle)
|
mapController.markerHandle.removeMarker(markerTitle)
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||||
mapController.lineHandler.removeLine()
|
mapController.lineHandler.removeLine()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -82,12 +83,13 @@ class EvaluationResultViewModel @Inject constructor(
|
|||||||
/**
|
/**
|
||||||
* 查询数据库,获取问题分类
|
* 查询数据库,获取问题分类
|
||||||
*/
|
*/
|
||||||
fun initNewData() {
|
fun initNewData(bean: SignBean?) {
|
||||||
viewModelScope.launch(Dispatchers.IO) {
|
viewModelScope.launch(Dispatchers.IO) {
|
||||||
getClassTypeList()
|
getClassTypeList()
|
||||||
getProblemLinkList()
|
getProblemLinkList()
|
||||||
}
|
}
|
||||||
val geoPoint = mapController.locationLayerHandler.getCurrentGeoPoint()
|
val geoPoint = mapController.locationLayerHandler.getCurrentGeoPoint()
|
||||||
|
if (bean == null) {
|
||||||
geoPoint?.let {
|
geoPoint?.let {
|
||||||
liveDataQsRecordBean.value!!.geometry = GeometryTools.createGeometry(it).toText()
|
liveDataQsRecordBean.value!!.geometry = GeometryTools.createGeometry(it).toText()
|
||||||
mapController.markerHandle.addMarker(geoPoint, markerTitle)
|
mapController.markerHandle.addMarker(geoPoint, markerTitle)
|
||||||
@ -95,10 +97,28 @@ class EvaluationResultViewModel @Inject constructor(
|
|||||||
captureLink(geoPoint.longitude, geoPoint.latitude)
|
captureLink(geoPoint.longitude, geoPoint.latitude)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
liveDataQsRecordBean.value?.run {
|
||||||
|
elementId = bean.elementId
|
||||||
|
linkId = bean.linkId
|
||||||
|
if (linkId.isNotEmpty()) {
|
||||||
|
viewModelScope.launch {
|
||||||
|
val link = realmOperateHelper.queryLink(linkId)
|
||||||
|
link?.let { l ->
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
mapController.lineHandler.showLine(l.geometry)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
val point = GeometryTools.createGeoPoint(bean.geometry)
|
||||||
|
mapController.markerHandle.addMarker(point, markerTitle)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 捕捉到路
|
* 捕捉道路
|
||||||
*/
|
*/
|
||||||
private suspend fun captureLink(longitude: Double, latitude: Double) {
|
private suspend fun captureLink(longitude: Double, latitude: Double) {
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
package com.navinfo.omqs.ui.fragment.evaluationresult
|
package com.navinfo.omqs.ui.fragment.evaluationresult
|
||||||
|
|
||||||
|
import android.os.Build
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
import androidx.annotation.RequiresApi
|
||||||
import com.navinfo.omqs.R
|
import com.navinfo.omqs.R
|
||||||
import com.navinfo.omqs.databinding.TextItemSelectBinding
|
import com.navinfo.omqs.databinding.TextItemSelectBinding
|
||||||
import com.navinfo.omqs.ui.other.BaseRecyclerViewAdapter
|
import com.navinfo.omqs.ui.other.BaseRecyclerViewAdapter
|
||||||
@ -21,6 +23,7 @@ class LeftAdapter(private var itemListener: ((Int, String) -> Unit?)? = null) :
|
|||||||
return BaseViewHolder(viewBinding)
|
return BaseViewHolder(viewBinding)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequiresApi(Build.VERSION_CODES.M)
|
||||||
override fun onBindViewHolder(holder: BaseViewHolder, position: Int) {
|
override fun onBindViewHolder(holder: BaseViewHolder, position: Int) {
|
||||||
val bd = holder.viewBinding as TextItemSelectBinding
|
val bd = holder.viewBinding as TextItemSelectBinding
|
||||||
val title = data[position]
|
val title = data[position]
|
||||||
|
@ -50,7 +50,7 @@ class QsRecordListFragment : BaseFragment(){
|
|||||||
binding.qsRecyclerview.addItemDecoration(itemDecoration)
|
binding.qsRecyclerview.addItemDecoration(itemDecoration)
|
||||||
viewModel.getList(requireContext())
|
viewModel.getList(requireContext())
|
||||||
// itemClick
|
// itemClick
|
||||||
adapter!!.setOnKotlinItemClickListener(object : QsRecordListAdapter.IKotlinItemClickListener {
|
adapter.setOnKotlinItemClickListener(object : QsRecordListAdapter.IKotlinItemClickListener {
|
||||||
override fun onItemClickListener(position: Int) {
|
override fun onItemClickListener(position: Int) {
|
||||||
viewModel.onItemClickListener(activity as MainActivity,position)
|
viewModel.onItemClickListener(activity as MainActivity,position)
|
||||||
findNavController().popBackStack()
|
findNavController().popBackStack()
|
||||||
|
@ -82,7 +82,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="5dp"
|
android:layout_marginTop="5dp"
|
||||||
android:background="@drawable/fm_card_map_down_status_bg"
|
android:background="@drawable/fm_card_map_down_status_bg"
|
||||||
android:onClick="@{fragment.onClick}"
|
android:onClick="@{fragment::onClick}"
|
||||||
android:text="@{viewModel.liveDataQsRecordBean.phenomenon}" />
|
android:text="@{viewModel.liveDataQsRecordBean.phenomenon}" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
@ -91,7 +91,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="5dp"
|
android:layout_marginTop="5dp"
|
||||||
android:background="@drawable/fm_card_map_down_status_bg"
|
android:background="@drawable/fm_card_map_down_status_bg"
|
||||||
android:onClick="@{fragment.onClick}"
|
android:onClick="@{fragment::onClick}"
|
||||||
android:text="@{viewModel.liveDataQsRecordBean.problemLink}" />
|
android:text="@{viewModel.liveDataQsRecordBean.problemLink}" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
@ -100,7 +100,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="5dp"
|
android:layout_marginTop="5dp"
|
||||||
android:background="@drawable/fm_card_map_down_status_bg"
|
android:background="@drawable/fm_card_map_down_status_bg"
|
||||||
android:onClick="@{fragment.onClick}"
|
android:onClick="@{fragment::onClick}"
|
||||||
android:text="@{viewModel.liveDataQsRecordBean.cause}" />
|
android:text="@{viewModel.liveDataQsRecordBean.cause}" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -9,16 +9,25 @@
|
|||||||
android:id="@+id/EmptyFragment"
|
android:id="@+id/EmptyFragment"
|
||||||
android:name="com.navinfo.omqs.ui.fragment.empty.EmptyFragment"
|
android:name="com.navinfo.omqs.ui.fragment.empty.EmptyFragment"
|
||||||
android:label="空页面"
|
android:label="空页面"
|
||||||
tools:layout="@layout/fragment_empty"></fragment>
|
tools:layout="@layout/fragment_empty">
|
||||||
|
<!-- <action-->
|
||||||
|
<!-- android:id="@+id/EmptyFragment_to_EvaluationResultFragment"-->
|
||||||
|
<!-- app:destination="@id/EvaluationResultFragment" />-->
|
||||||
|
<!-- <argument-->
|
||||||
|
<!-- android:name="QsId"-->
|
||||||
|
<!-- app:argType="string"-->
|
||||||
|
<!-- app:nullable="true" />-->
|
||||||
|
<!-- <argument-->
|
||||||
|
<!-- android:name="SignBean"-->
|
||||||
|
<!-- app:argType="com.navinfo.omqs.ui.activity.map.SignBean"-->
|
||||||
|
<!-- />-->
|
||||||
|
</fragment>
|
||||||
|
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/EvaluationResultFragment"
|
android:id="@+id/EvaluationResultFragment"
|
||||||
android:name="com.navinfo.omqs.ui.fragment.evaluationresult.EvaluationResultFragment"
|
android:name="com.navinfo.omqs.ui.fragment.evaluationresult.EvaluationResultFragment"
|
||||||
android:label="评测页面"
|
android:label="评测页面"
|
||||||
tools:layout="@layout/fragment_evaluation_result">
|
tools:layout="@layout/fragment_evaluation_result">
|
||||||
<argument
|
|
||||||
android:name="QsId"
|
|
||||||
app:argType="string"
|
|
||||||
app:nullable="true" />
|
|
||||||
</fragment>
|
</fragment>
|
||||||
</navigation>
|
</navigation>
|
@ -4,6 +4,7 @@
|
|||||||
buildscript {
|
buildscript {
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath "io.realm:realm-gradle-plugin:10.11.1"
|
classpath "io.realm:realm-gradle-plugin:10.11.1"
|
||||||
|
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.5.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
plugins {
|
plugins {
|
||||||
@ -11,4 +12,5 @@ plugins {
|
|||||||
id 'com.android.library' version '7.3.1' apply false
|
id 'com.android.library' version '7.3.1' apply false
|
||||||
id 'org.jetbrains.kotlin.android' version '1.8.0' apply false
|
id 'org.jetbrains.kotlin.android' version '1.8.0' apply false
|
||||||
id 'com.google.dagger.hilt.android' version '2.44' apply false
|
id 'com.google.dagger.hilt.android' version '2.44' apply false
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ import org.oscim.layers.vector.VectorLayer
|
|||||||
import org.oscim.layers.vector.geometries.Style
|
import org.oscim.layers.vector.geometries.Style
|
||||||
import org.oscim.map.Map
|
import org.oscim.map.Map
|
||||||
|
|
||||||
@RequiresApi(Build.VERSION_CODES.N)
|
@RequiresApi(Build.VERSION_CODES.M)
|
||||||
class LineHandler(context: AppCompatActivity, mapView: NIMapView) : BaseHandler(context, mapView),
|
class LineHandler(context: AppCompatActivity, mapView: NIMapView) : BaseHandler(context, mapView),
|
||||||
Map.UpdateListener {
|
Map.UpdateListener {
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user