From 12fd2664b4ed8af2e09fa2ea5b0dd60fb14bc867 Mon Sep 17 00:00:00 2001 From: xiaoyan Date: Mon, 27 Mar 2023 11:31:19 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E6=97=B6=E7=9A=84loading=E5=AF=B9=E8=AF=9D=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../message/ObtainMessageFragment.kt | 26 +++++++++++++++---- .../message/ObtainMessageViewModel.kt | 5 ++-- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/navinfo/volvo/ui/fragments/message/ObtainMessageFragment.kt b/app/src/main/java/com/navinfo/volvo/ui/fragments/message/ObtainMessageFragment.kt index 67dbd67..0a3e3f6 100644 --- a/app/src/main/java/com/navinfo/volvo/ui/fragments/message/ObtainMessageFragment.kt +++ b/app/src/main/java/com/navinfo/volvo/ui/fragments/message/ObtainMessageFragment.kt @@ -1,7 +1,10 @@ package com.navinfo.volvo.ui.fragments.message +import android.app.ProgressDialog import android.content.DialogInterface +import android.graphics.Color import android.graphics.Paint +import android.graphics.PorterDuff import android.os.Bundle import android.text.TextUtils import android.view.LayoutInflater @@ -10,11 +13,9 @@ import android.view.View import android.view.View.GONE import android.view.View.VISIBLE import android.view.ViewGroup -import android.widget.AdapterView +import android.widget.* import android.widget.AdapterView.OnItemSelectedListener -import android.widget.ArrayAdapter -import android.widget.Button -import android.widget.Toast +import androidx.appcompat.app.AlertDialog import androidx.core.content.ContextCompat import androidx.core.widget.addTextChangedListener import androidx.fragment.app.Fragment @@ -83,6 +84,7 @@ class ObtainMessageFragment : Fragment() { private val binding get() = _binding!! private lateinit var voiceView: VoicePlayerView + private lateinit var loadingDialog: AlertDialog override fun onCreateView( inflater: LayoutInflater, @@ -683,7 +685,15 @@ class ObtainMessageFragment : Fragment() { } else { messageData.version = "0" // 预约发送 } - + if (loadingDialog == null) { + val progressBar = ProgressBar(context, null, android.R.attr.progressBarStyleLarge) + progressBar.indeterminateDrawable.setColorFilter(Color.BLUE, PorterDuff.Mode.SRC_IN) + loadingDialog = AlertDialog.Builder(requireContext()) + .setView(progressBar) + .setCancelable(false) + .create() + } + loadingDialog.show() // 开始网络提交数据 if (obtainMessageViewModel.getMessageLiveData().value?.id == 0L) { // 如果网络id为空,则调用更新操作 obtainMessageViewModel.insertCardByApp(confirmCallback) @@ -714,6 +724,12 @@ class ObtainMessageFragment : Fragment() { val confirmCallback = object : ObtainMessageViewModel.MyConfirmCallback { override fun onSucess() { findNavController().popBackStack() + loadingDialog.hide() + } + + override fun onFail(error: String) { + loadingDialog.hide() + ToastUtils.showToast(error) } } diff --git a/app/src/main/java/com/navinfo/volvo/ui/fragments/message/ObtainMessageViewModel.kt b/app/src/main/java/com/navinfo/volvo/ui/fragments/message/ObtainMessageViewModel.kt index 052c21f..12e5990 100644 --- a/app/src/main/java/com/navinfo/volvo/ui/fragments/message/ObtainMessageViewModel.kt +++ b/app/src/main/java/com/navinfo/volvo/ui/fragments/message/ObtainMessageViewModel.kt @@ -270,11 +270,11 @@ class ObtainMessageViewModel @Inject constructor( // TODO 尝试更新本地数据 confirmCallback.onSucess() } else { - ToastUtils.showToast(result.msg) + confirmCallback.onFail(result.msg) } } catch (e: Exception) { - ToastUtils.showToast(e.message) XLog.d(e.message) + confirmCallback.onFail(e.message!!) } } } @@ -333,5 +333,6 @@ class ObtainMessageViewModel @Inject constructor( interface MyConfirmCallback { fun onSucess() + fun onFail(error: String) } } \ No newline at end of file