fix
lmw
2024-11-09 d1a9e3312387b6c47e6186af506787a8a66369d1
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,14 +92,12 @@
    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