lmw
2025-04-24 718f31c92e2029d05260810435a2c70cef6e6ce5
app/src/main/java/com/sinata/xqmuse/ui/discovery/PlaceDetailActivity.kt
@@ -4,13 +4,18 @@
import android.webkit.WebSettings
import android.webkit.WebViewClient
import cn.sinata.xldutils.gone
import cn.sinata.xldutils.utils.showAllowingStateLoss
import com.google.android.material.appbar.AppBarLayout
import com.sinata.xqmuse.R
import com.sinata.xqmuse.dialog.MapTypeDialog
import com.sinata.xqmuse.network.HttpManager
import com.sinata.xqmuse.network.entity.Place
import com.sinata.xqmuse.network.request
import com.sinata.xqmuse.ui.TransparentStatusBarActivity
import com.sinata.xqmuse.ui.discovery.adapter.BannerAdapter
import com.sinata.xqmuse.utils.AppBarStateChangeListener
import com.sinata.xqmuse.utils.ThirdPartyMapsGuide
import com.sinata.xqmuse.utils.interfaces.StringCallback
import com.youth.banner.indicator.CircleIndicator
import com.youth.banner.indicator.RectangleIndicator
import com.youth.banner.indicator.RoundLinesIndicator
@@ -27,9 +32,25 @@
    private val bannerAdapter by lazy {
        BannerAdapter(bannerImg, this)
    }
    private var place:Place? = null
    override fun initClick() {
        iv_back.setOnClickListener { finish() }
        tv_address.setOnClickListener {
            val mapTypeDialog = MapTypeDialog()
            mapTypeDialog.callback = object : StringCallback {
                override fun onResult(rst: String) {
                    if(rst == "b"){
                        ThirdPartyMapsGuide.goToBaiduActivity(this@PlaceDetailActivity,place?.hallName,place!!.longitude,place!!.latitude)
                    }else if (rst == "a"){
                        ThirdPartyMapsGuide.goToGaoDeMap(this@PlaceDetailActivity,place?.hallName,place!!.longitude.toString(),place!!.latitude.toString())
                    }else{
                        ThirdPartyMapsGuide.goToTencentMap(this@PlaceDetailActivity,place?.hallName,place!!.longitude,place!!.latitude)
                    }
                }
            }
            mapTypeDialog.showAllowingStateLoss(supportFragmentManager,"map")
        }
    }
    override fun initView() {
@@ -71,17 +92,15 @@
    private fun getData() {
        HttpManager.getMeditationInfo(id?:"").request(this){_,data->
            place = data
            data?.apply {
                bannerImg.clear()
                bannerImg.addAll(detailBannerUrl.split(",").filter { !it.isNullOrEmpty() })
                bannerAdapter.notifyDataSetChanged()
                banner.postDelayed({
                    banner.isAutoLoop(true)
                                   banner.start()
                                   },2000)
                banner.currentItem = 1
                tv_name.text = hallName
                tv_phone.text = contactNumber
                tv_address.text = address
                tv_address.text = addressDetail
                tv_time.text = "营业时间:$businessHours"
                val sHead =
                    "<html><head><meta name=\"viewport\" content=\"width=device-width, " + "initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes\" />" + "<style>img{max-width:100% !important;height:auto !important;}</style>" + "<style>body{max-width:100% !important;}</style>" + "</head><body>"