fix: 增加提交时的loading对话框
This commit is contained in:
parent
95a53c16b3
commit
12fd2664b4
@ -1,7 +1,10 @@
|
|||||||
package com.navinfo.volvo.ui.fragments.message
|
package com.navinfo.volvo.ui.fragments.message
|
||||||
|
|
||||||
|
import android.app.ProgressDialog
|
||||||
import android.content.DialogInterface
|
import android.content.DialogInterface
|
||||||
|
import android.graphics.Color
|
||||||
import android.graphics.Paint
|
import android.graphics.Paint
|
||||||
|
import android.graphics.PorterDuff
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
@ -10,11 +13,9 @@ import android.view.View
|
|||||||
import android.view.View.GONE
|
import android.view.View.GONE
|
||||||
import android.view.View.VISIBLE
|
import android.view.View.VISIBLE
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.AdapterView
|
import android.widget.*
|
||||||
import android.widget.AdapterView.OnItemSelectedListener
|
import android.widget.AdapterView.OnItemSelectedListener
|
||||||
import android.widget.ArrayAdapter
|
import androidx.appcompat.app.AlertDialog
|
||||||
import android.widget.Button
|
|
||||||
import android.widget.Toast
|
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.core.widget.addTextChangedListener
|
import androidx.core.widget.addTextChangedListener
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
@ -83,6 +84,7 @@ class ObtainMessageFragment : Fragment() {
|
|||||||
private val binding get() = _binding!!
|
private val binding get() = _binding!!
|
||||||
|
|
||||||
private lateinit var voiceView: VoicePlayerView
|
private lateinit var voiceView: VoicePlayerView
|
||||||
|
private lateinit var loadingDialog: AlertDialog
|
||||||
|
|
||||||
override fun onCreateView(
|
override fun onCreateView(
|
||||||
inflater: LayoutInflater,
|
inflater: LayoutInflater,
|
||||||
@ -683,7 +685,15 @@ class ObtainMessageFragment : Fragment() {
|
|||||||
} else {
|
} else {
|
||||||
messageData.version = "0" // 预约发送
|
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为空,则调用更新操作
|
if (obtainMessageViewModel.getMessageLiveData().value?.id == 0L) { // 如果网络id为空,则调用更新操作
|
||||||
obtainMessageViewModel.insertCardByApp(confirmCallback)
|
obtainMessageViewModel.insertCardByApp(confirmCallback)
|
||||||
@ -714,6 +724,12 @@ class ObtainMessageFragment : Fragment() {
|
|||||||
val confirmCallback = object : ObtainMessageViewModel.MyConfirmCallback {
|
val confirmCallback = object : ObtainMessageViewModel.MyConfirmCallback {
|
||||||
override fun onSucess() {
|
override fun onSucess() {
|
||||||
findNavController().popBackStack()
|
findNavController().popBackStack()
|
||||||
|
loadingDialog.hide()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onFail(error: String) {
|
||||||
|
loadingDialog.hide()
|
||||||
|
ToastUtils.showToast(error)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -270,11 +270,11 @@ class ObtainMessageViewModel @Inject constructor(
|
|||||||
// TODO 尝试更新本地数据
|
// TODO 尝试更新本地数据
|
||||||
confirmCallback.onSucess()
|
confirmCallback.onSucess()
|
||||||
} else {
|
} else {
|
||||||
ToastUtils.showToast(result.msg)
|
confirmCallback.onFail(result.msg)
|
||||||
}
|
}
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
ToastUtils.showToast(e.message)
|
|
||||||
XLog.d(e.message)
|
XLog.d(e.message)
|
||||||
|
confirmCallback.onFail(e.message!!)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -333,5 +333,6 @@ class ObtainMessageViewModel @Inject constructor(
|
|||||||
|
|
||||||
interface MyConfirmCallback {
|
interface MyConfirmCallback {
|
||||||
fun onSucess()
|
fun onSucess()
|
||||||
|
fun onFail(error: String)
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user