From d5601ac408d9e84a0f867c685c97e28acba8a4d3 Mon Sep 17 00:00:00 2001 From: wangyu Date: Mon, 9 Feb 2026 15:05:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BC=95=E5=AF=BC=E9=A1=B5?= =?UTF-8?q?=E5=AF=B9=E5=85=AC=E8=BD=AC=E8=B4=A6=E8=B7=B3=E8=BD=AC=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/fragment/guide/vip/GuideVipFragment.kt | 8 +++++- .../ui/fragment/mine/order/OrderFragment.kt | 27 +++++++++++++++++++ .../mine/order/cert/CertificateFragment.kt | 8 ++++++ 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/cheng/blzb/ui/fragment/guide/vip/GuideVipFragment.kt b/app/src/main/java/com/cheng/blzb/ui/fragment/guide/vip/GuideVipFragment.kt index 5fa7420..0b39560 100644 --- a/app/src/main/java/com/cheng/blzb/ui/fragment/guide/vip/GuideVipFragment.kt +++ b/app/src/main/java/com/cheng/blzb/ui/fragment/guide/vip/GuideVipFragment.kt @@ -26,6 +26,7 @@ import com.cheng.blzb.bean.VipGoodsEntity import com.cheng.blzb.common.Constants import com.cheng.blzb.common.EventConstants import com.cheng.blzb.databinding.FragmentGuideVipBinding +import com.cheng.blzb.event.OrderEvent import com.cheng.blzb.event.PayStatusEnum import com.cheng.blzb.event.PayStatusEvent import com.cheng.blzb.event.PaySuccessEvent @@ -291,7 +292,7 @@ class GuideVipFragment: BaseFragment } else if (payType == 1) { PayUtils.toAliPay(requireActivity(), it.payParam, "") } else { - PublicActivity.start(requireContext(), CertificateFragment::class.java, Pair("orderId", orderEntity!!.orderId)) + PublicActivity.start(requireContext(), CertificateFragment::class.java, Pair("from", 1), Pair("orderId", orderEntity!!.orderId)) } } @@ -338,6 +339,11 @@ class GuideVipFragment: BaseFragment } } addDisposable(payStatusDisposable) + + val orderEvent = RxBus.defaultInstance.toObservable(OrderEvent::class.java).subscribe { + requireActivity().finish() + } + addDisposable(orderEvent) } private fun showQueryTipDialog() { diff --git a/app/src/main/java/com/cheng/blzb/ui/fragment/mine/order/OrderFragment.kt b/app/src/main/java/com/cheng/blzb/ui/fragment/mine/order/OrderFragment.kt index 7f93bff..597472b 100644 --- a/app/src/main/java/com/cheng/blzb/ui/fragment/mine/order/OrderFragment.kt +++ b/app/src/main/java/com/cheng/blzb/ui/fragment/mine/order/OrderFragment.kt @@ -1,18 +1,25 @@ package com.cheng.blzb.ui.fragment.mine.order +import android.annotation.SuppressLint import android.graphics.Typeface import android.widget.TextView +import android.window.OnBackInvokedDispatcher +import androidx.activity.addCallback +import androidx.core.os.BuildCompat import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentStatePagerAdapter import com.angcyo.tablayout.delegate.ViewPager1Delegate import com.cheng.blzb.R import com.cheng.blzb.common.Constants import com.cheng.blzb.databinding.FragmentOrderBinding +import com.cheng.blzb.ui.activity.MainActivity import com.cheng.blzb.ui.base.BasePageAdapter import com.cheng.blzb.ui.fragment.mine.order.list.OrderListFragment import com.example.base.ui.BaseFragment +import org.jetbrains.anko.startActivity class OrderFragment: BaseFragment() { + private val from by lazy { arguments?.getInt("from") ?: 0 } private val tabText = listOf("全部", "待支付", "已支付") private val fragmentList by lazy { mutableListOf() } private val pageAdapter by lazy { @@ -42,6 +49,13 @@ class OrderFragment: BaseFragment() { override fun initListener() { super.initListener() + if (from == 1) { + setBackPressed() + mTitleBar?.setNavigationOnClickListener { + requireActivity().startActivity() + } + } + binding.tabLayout.observeIndexChange { fromIndex, toIndex, _, _ -> binding.viewPager.currentItem = toIndex if (fromIndex != -1) { @@ -52,4 +66,17 @@ class OrderFragment: BaseFragment() { (binding.tabLayout.getChildAt(toIndex) as TextView).setBackgroundResource(R.drawable.shape_push_bid_type_checked) } } + + @SuppressLint("UnsafeOptInUsageError") + private fun setBackPressed() { + if (BuildCompat.isAtLeastT()) { + requireActivity().onBackInvokedDispatcher.registerOnBackInvokedCallback(OnBackInvokedDispatcher.PRIORITY_DEFAULT) { + requireActivity().startActivity() + } + } else { + requireActivity().onBackPressedDispatcher.addCallback(this) { + requireActivity().startActivity() + } + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/cheng/blzb/ui/fragment/mine/order/cert/CertificateFragment.kt b/app/src/main/java/com/cheng/blzb/ui/fragment/mine/order/cert/CertificateFragment.kt index 588ce22..15ed0b3 100644 --- a/app/src/main/java/com/cheng/blzb/ui/fragment/mine/order/cert/CertificateFragment.kt +++ b/app/src/main/java/com/cheng/blzb/ui/fragment/mine/order/cert/CertificateFragment.kt @@ -8,13 +8,16 @@ import coil.transform.RoundedCornersTransformation import com.cheng.blzb.bean.OrderEntity import com.cheng.blzb.databinding.FragmentCertificateBinding import com.cheng.blzb.event.OrderEvent +import com.cheng.blzb.ui.activity.MainActivity import com.cheng.blzb.ui.activity.PublicActivity +import com.cheng.blzb.ui.fragment.mine.order.OrderFragment import com.cheng.blzb.ui.fragment.photo.PhotoViewFragment import com.cheng.blzb.utils.FileProviderUtils import com.cheng.blzb.utils.PermissionUtils import com.example.base.common.RxBus import com.example.base.extensions.gone import com.example.base.extensions.onClick +import com.example.base.extensions.startActivity import com.example.base.extensions.toast import com.example.base.extensions.visible import com.example.base.ui.BaseFragment @@ -23,9 +26,11 @@ import com.example.base.utils.DensityUtils import com.google.gson.Gson import com.google.gson.JsonObject import okhttp3.RequestBody.Companion.toRequestBody +import org.jetbrains.anko.startActivity import java.text.DecimalFormat class CertificateFragment: BaseFragment() { + private val from by lazy { arguments?.getInt("from") ?: 0 } private val orderId by lazy { arguments?.getString("orderId") ?: "" } private var orderInfo: OrderEntity? = null @@ -112,6 +117,9 @@ class CertificateFragment: BaseFragment