Commit c656fecb authored by 张释方's avatar 张释方

修改!!问题

parent d104c88c
...@@ -20,7 +20,7 @@ import me.goldze.mvvmhabit.utils.RxUtils ...@@ -20,7 +20,7 @@ import me.goldze.mvvmhabit.utils.RxUtils
* Created by 冯瑞雨 on 2021/8/9. * Created by 冯瑞雨 on 2021/8/9.
*/ */
class DialogMapContentAdapter( class DialogMapContentAdapter(
val context: Context, var list: List<MapStyleList>?, val context: Context?, var list: List<MapStyleList>?,
private val onItemMapStyleChange: OnItemMapStyleChange? = null private val onItemMapStyleChange: OnItemMapStyleChange? = null
) : ) :
AbstractVLayoutBaseAdapter<DialogMapContentItemBinding, List<MapStyleList>>(context, list, 2) { AbstractVLayoutBaseAdapter<DialogMapContentItemBinding, List<MapStyleList>>(context, list, 2) {
......
...@@ -6,12 +6,11 @@ import com.fry.base.adapter.AbstractVLayoutBaseAdapter ...@@ -6,12 +6,11 @@ import com.fry.base.adapter.AbstractVLayoutBaseAdapter
import com.fry.base.adapter.BindingViewHolder import com.fry.base.adapter.BindingViewHolder
import com.mints.street.R import com.mints.street.R
import com.mints.street.databinding.DialogMapHearItemBinding import com.mints.street.databinding.DialogMapHearItemBinding
import com.mints.street.databinding.DialogMapHearItemBindingImpl
/** /**
* Created by 冯瑞雨 on 2021/8/9. * Created by 冯瑞雨 on 2021/8/9.
*/ */
class DialogMapHeadAdapter(val context: Context, var name: String?) : class DialogMapHeadAdapter(val context: Context?, var name: String?) :
AbstractVLayoutBaseAdapter<DialogMapHearItemBinding, String?>(context, name, 1) { AbstractVLayoutBaseAdapter<DialogMapHearItemBinding, String?>(context, name, 1) {
override fun onBindViewHolder( override fun onBindViewHolder(
......
...@@ -9,12 +9,11 @@ import com.github.iielse.switchbutton.SwitchView ...@@ -9,12 +9,11 @@ import com.github.iielse.switchbutton.SwitchView
import com.mints.street.R import com.mints.street.R
import com.mints.street.bean.MapStyleSortBean import com.mints.street.bean.MapStyleSortBean
import com.mints.street.databinding.DialogMapTailItemBinding import com.mints.street.databinding.DialogMapTailItemBinding
import com.mints.street.databinding.ItemGridMapAdapterBinding
/** /**
* Created by 冯瑞雨 on 2021/8/9. * Created by 冯瑞雨 on 2021/8/9.
*/ */
class DialogMapTailAdapter(val context: Context, private var mapStyleBean: MapStyleSortBean?, class DialogMapTailAdapter(val context: Context?, private var mapStyleBean: MapStyleSortBean?,
val onDataChange:OnDataChange?=null) : val onDataChange:OnDataChange?=null) :
AbstractVLayoutBaseAdapter<DialogMapTailItemBinding, List<String>>(context, null, 3) { AbstractVLayoutBaseAdapter<DialogMapTailItemBinding, List<String>>(context, null, 3) {
......
...@@ -17,7 +17,7 @@ import me.goldze.mvvmhabit.utils.RxUtils ...@@ -17,7 +17,7 @@ import me.goldze.mvvmhabit.utils.RxUtils
/** /**
* Created by 冯瑞雨 on 2021/7/9. * Created by 冯瑞雨 on 2021/7/9.
*/ */
class GridMapAdapter(val context: Context, var list: List<VrmapBean.Internal>?) : class GridMapAdapter(val context: Context?, var list: List<VrmapBean.Internal>?) :
AbstractVLayoutBaseAdapter<ItemGridMapAdapterBinding, List<VrmapBean.Internal>>(context, list, 2) { AbstractVLayoutBaseAdapter<ItemGridMapAdapterBinding, List<VrmapBean.Internal>>(context, list, 2) {
override fun onBindViewHolder( override fun onBindViewHolder(
...@@ -52,7 +52,7 @@ class GridMapAdapter(val context: Context, var list: List<VrmapBean.Internal>?) ...@@ -52,7 +52,7 @@ class GridMapAdapter(val context: Context, var list: List<VrmapBean.Internal>?)
override fun getItemCount() = list!!.size override fun getItemCount() = list?.size?:0
override fun onCreateLayoutHelper(): LayoutHelper { override fun onCreateLayoutHelper(): LayoutHelper {
val hp: GridLayoutHelper = GridLayoutHelper(2) val hp: GridLayoutHelper = GridLayoutHelper(2)
......
...@@ -36,7 +36,7 @@ class ItemHotViewAdapter(val context: Context, val dialog: BottomSheetDialog?, v ...@@ -36,7 +36,7 @@ class ItemHotViewAdapter(val context: Context, val dialog: BottomSheetDialog?, v
//设置名称 //设置名称
holder.binding.viewname.text = name holder.binding.viewname.text = name
//设置距离 //设置距离
var distance: Double = getDistance(LatLng(lat!!.toDouble(), lng!!.toDouble()), LatLng(mCurrentLat, mCurrentLon)) var distance: Double = getDistance(LatLng(lat?.toDouble()?:0.0, lng?.toDouble()?:0.0), LatLng(mCurrentLat, mCurrentLon))
holder.binding.tvDistance.text = "距离${DecimalFormat("0.00").format(distance / 1000).toString()}km" holder.binding.tvDistance.text = "距离${DecimalFormat("0.00").format(distance / 1000).toString()}km"
//设置景点简介 //设置景点简介
holder.binding.tvDescribe.text = desc holder.binding.tvDescribe.text = desc
......
...@@ -5,7 +5,6 @@ import com.mints.street.netwrok.common.HttpManager ...@@ -5,7 +5,6 @@ import com.mints.street.netwrok.common.HttpManager
import io.reactivex.Observable import io.reactivex.Observable
import retrofit2.Response import retrofit2.Response
import retrofit2.http.Body import retrofit2.http.Body
import retrofit2.http.GET
import retrofit2.http.POST import retrofit2.http.POST
/** /**
...@@ -142,7 +141,7 @@ interface MainApi { ...@@ -142,7 +141,7 @@ interface MainApi {
* 精选体验详情 * 精选体验详情
*/ */
@POST("na/getChooseExperienceData") @POST("na/getChooseExperienceData")
fun getChooseExperienceData(@Body vo:@JvmSuppressWildcards Map<String,Any>):Observable<Response<BaseResponse<DetailedBean>>> fun getChooseExperienceData(@Body vo:@JvmSuppressWildcards Map<String,String?>):Observable<Response<BaseResponse<DetailedBean>>>
/** /**
......
...@@ -114,7 +114,7 @@ class GoogleMapFragment() : BaseFragment<ActivityGoogleMapBinding, HomeViewModel ...@@ -114,7 +114,7 @@ class GoogleMapFragment() : BaseFragment<ActivityGoogleMapBinding, HomeViewModel
viewModel.getMapStyle() viewModel.getMapStyle()
} else { } else {
if (this@GoogleMapFragment.fragmentManager != null) { if (this@GoogleMapFragment.fragmentManager != null) {
dialogMapStyle?.show(this@GoogleMapFragment.fragmentManager!!, "dialogMapStyle") dialogMapStyle?.show(this.fragmentManager!!, "dialogMapStyle")
} }
} }
} //点击热门景点 } //点击热门景点
...@@ -440,7 +440,7 @@ class GoogleMapFragment() : BaseFragment<ActivityGoogleMapBinding, HomeViewModel ...@@ -440,7 +440,7 @@ class GoogleMapFragment() : BaseFragment<ActivityGoogleMapBinding, HomeViewModel
//获取地图展示样式 //获取地图展示样式
viewModel.mapStyleSortBean.observe(this, Observer { viewModel.mapStyleSortBean.observe(this, Observer {
it?.apply { it?.apply {
dialogMapStyle = DialogMapStyle(context!!, it, dialogMapStyle = DialogMapStyle(context, it,
object : DialogMapStyle.OnMapStyleDataChange { object : DialogMapStyle.OnMapStyleDataChange {
override fun onMapStyleItemChange(type: String) { override fun onMapStyleItemChange(type: String) {
changeMapType(type) changeMapType(type)
......
package com.mints.street.main.home package com.mints.street.main.home
import com.mints.street.webview.MintsWebViewActivity
import me.goldze.mvvmhabit.base.ItemViewModel import me.goldze.mvvmhabit.base.ItemViewModel
import me.goldze.mvvmhabit.binding.command.BindingAction import me.goldze.mvvmhabit.binding.command.BindingAction
import me.goldze.mvvmhabit.binding.command.BindingCommand import me.goldze.mvvmhabit.binding.command.BindingCommand
...@@ -8,8 +7,8 @@ import me.goldze.mvvmhabit.binding.command.BindingCommand ...@@ -8,8 +7,8 @@ import me.goldze.mvvmhabit.binding.command.BindingCommand
/** /**
* Created by 冯瑞雨 on 2021/7/9. * Created by 冯瑞雨 on 2021/7/9.
*/ */
class HomeButtonItemVM(viewModel: HomeViewModel,val name:String?,val image1:String, class HomeButtonItemVM(viewModel: HomeViewModel,val name:String?,val image1:String?,
val image2:String,val image3:String, val image2:String?,val image3:String?,
var latitude:String?,var longitude:String?,val isLook:Boolean?=false) : ItemViewModel<HomeViewModel?>(viewModel) { var latitude:String?,var longitude:String?,val isLook:Boolean?=false) : ItemViewModel<HomeViewModel?>(viewModel) {
val onItemClick = BindingCommand<Any?>(BindingAction { val onItemClick = BindingCommand<Any?>(BindingAction {
......
...@@ -160,7 +160,7 @@ class HomeFragment() : BaseFragment<FragmentHomeBinding, HomeViewModel>(), Senso ...@@ -160,7 +160,7 @@ class HomeFragment() : BaseFragment<FragmentHomeBinding, HomeViewModel>(), Senso
}) })
viewModel.mapbeanData.observe(this, Observer<MapBean> { viewModel.mapbeanData.observe(this, Observer<MapBean> {
DialogUtils.showbennfitsDialog(context!!, viewModel, it.innerPlaces?.places) DialogUtils.showbennfitsDialog(context!!, viewModel, it.innerPlaces?.places)
}) })
} }
...@@ -462,7 +462,7 @@ class HomeFragment() : BaseFragment<FragmentHomeBinding, HomeViewModel>(), Senso ...@@ -462,7 +462,7 @@ class HomeFragment() : BaseFragment<FragmentHomeBinding, HomeViewModel>(), Senso
val builder = MapStatus.Builder() val builder = MapStatus.Builder()
builder.target(latLng).zoom(18.5f).overlook(-21f).rotate(0f) builder.target(latLng).zoom(18.5f).overlook(-21f).rotate(0f)
// 更新地图状态 // 更新地图状态
mBaiduMap!!.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()), 300) mBaiduMap?.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()), 300)
//mMarker.setPosition(latLng) //mMarker.setPosition(latLng)
} }
} }
\ No newline at end of file
...@@ -131,10 +131,10 @@ class HomeViewModel(application: Application) : BaseViewModel(application) { ...@@ -131,10 +131,10 @@ class HomeViewModel(application: Application) : BaseViewModel(application) {
} }
val bean = mapBean?.homePlaces?.places val bean = mapBean?.homePlaces?.places
bean?.iterator()?.forEach { item -> bean?.iterator()?.forEach { item ->
if (item.images == null || item.images?.size!! < 3) { if (item.images == null || item.images?.size?:0 < 3) {
return return
} }
addressList.add( addressList?.add(
HomeButtonItemVM( HomeButtonItemVM(
this, this,
item.name, item.name,
......
...@@ -53,7 +53,7 @@ class BindMobileActivity : BaseActivity<ActivityBindmobileBinding, BindMobileVie ...@@ -53,7 +53,7 @@ class BindMobileActivity : BaseActivity<ActivityBindmobileBinding, BindMobileVie
// mobile = UserManager.getInstance().mobile // mobile = UserManager.getInstance().mobile
if (!TextUtils.isEmpty(mobile)) { if (!TextUtils.isEmpty(mobile)) {
etLoginMobile.setText(mobile) etLoginMobile.setText(mobile)
etLoginMobile.setSelection(mobile!!.length + 2) etLoginMobile.setSelection(mobile?.length?:0 + 2)
} }
} }
......
...@@ -294,16 +294,18 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>() ...@@ -294,16 +294,18 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>()
//设置选中标记 //设置选中标记
private fun setpayweyflag(textflag: CharSequence?) { private fun setpayweyflag(textflag: CharSequence?) {
if (textflag!!.equals("微信支付")) { if (textflag != null) {
currentPayType = "WEIXIN" if (textflag.equals("微信支付")) {
} else { currentPayType = "WEIXIN"
currentPayType = "ALIPAY" } else {
currentPayType = "ALIPAY"
}
} }
} }
private fun payVip() { private fun payVip() {
if (vipList != null && vipList!!.size > 0 && gridPaymentAdapter != null) { if (vipList != null && vipList?.size?:0 > 0 && gridPaymentAdapter != null) {
if (TextUtils.equals("WEIXIN", currentPayType)) { if (TextUtils.equals("WEIXIN", currentPayType)) {
viewModel.getVipPayParams("WEIXIN", gridPaymentAdapter?.getPid()) viewModel.getVipPayParams("WEIXIN", gridPaymentAdapter?.getPid())
} else { } else {
......
package com.mints.street.main.vr package com.mints.street.main.vr
import android.content.Intent import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import android.widget.TextView
import androidx.lifecycle.Observer import androidx.lifecycle.Observer
import com.alibaba.android.vlayout.DelegateAdapter import com.alibaba.android.vlayout.DelegateAdapter
import com.alibaba.android.vlayout.VirtualLayoutManager import com.alibaba.android.vlayout.VirtualLayoutManager
...@@ -38,7 +36,7 @@ class DetailedActivity : BaseActivity<ActivityDetailedBinding, DetailedViewModel ...@@ -38,7 +36,7 @@ class DetailedActivity : BaseActivity<ActivityDetailedBinding, DetailedViewModel
private fun initView() { private fun initView() {
//初始化布局管理器 //初始化布局管理器
// if (this == null) return // if (this == null) return
vLayout = VirtualLayoutManager(this!!); vLayout = VirtualLayoutManager(this);
mAdapter = DelegateAdapter(vLayout, false) mAdapter = DelegateAdapter(vLayout, false)
binding.listview.layoutManager = vLayout binding.listview.layoutManager = vLayout
...@@ -54,7 +52,7 @@ class DetailedActivity : BaseActivity<ActivityDetailedBinding, DetailedViewModel ...@@ -54,7 +52,7 @@ class DetailedActivity : BaseActivity<ActivityDetailedBinding, DetailedViewModel
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
myintent =getIntent(); myintent =getIntent();
viewModel.getChooseExperienceData(myintent?.getStringExtra("area")!!) viewModel.getChooseExperienceData(myintent?.getStringExtra("area"))
} }
override fun initViewObservable() { override fun initViewObservable() {
...@@ -67,7 +65,7 @@ class DetailedActivity : BaseActivity<ActivityDetailedBinding, DetailedViewModel ...@@ -67,7 +65,7 @@ class DetailedActivity : BaseActivity<ActivityDetailedBinding, DetailedViewModel
gridVrMapAdapter?.list = it.list gridVrMapAdapter?.list = it.list
mAdapter?.notifyDataSetChanged() mAdapter?.notifyDataSetChanged()
binding.tvIntroduce.text=it.desc binding.tvIntroduce.text=it.desc
binding.tvName.text=myintent?.getStringExtra("area")!! binding.tvName.text=myintent?.getStringExtra("area")
}) })
} }
} }
\ No newline at end of file
...@@ -17,8 +17,8 @@ class DetailedViewModel(application: Application) : BaseViewModel(application) { ...@@ -17,8 +17,8 @@ class DetailedViewModel(application: Application) : BaseViewModel(application) {
val detailbean: MutableLiveData<DetailedBean> = MutableLiveData() val detailbean: MutableLiveData<DetailedBean> = MutableLiveData()
fun getChooseExperienceData(name:String){ fun getChooseExperienceData(name:String?){
val vo = HashMap<String, Any>() val vo = HashMap<String, String?>()
vo["area"] = name vo["area"] = name
ApiModel.getChooseExperienceData(lifecycleProvider,vo).safeSubscribe( ApiModel.getChooseExperienceData(lifecycleProvider,vo).safeSubscribe(
object : HttpSubscribeImpl<BaseResponse<DetailedBean>>( object : HttpSubscribeImpl<BaseResponse<DetailedBean>>(
......
...@@ -9,13 +9,9 @@ import com.alibaba.android.vlayout.VirtualLayoutManager ...@@ -9,13 +9,9 @@ import com.alibaba.android.vlayout.VirtualLayoutManager
import com.fry.base.base.BaseFragment import com.fry.base.base.BaseFragment
import com.mints.street.BR import com.mints.street.BR
import com.mints.street.R import com.mints.street.R
import com.mints.street.adapter.EnterDestinationAdapter
import com.mints.street.adapter.GridMapAdapter import com.mints.street.adapter.GridMapAdapter
import com.mints.street.bean.VrmapBean import com.mints.street.bean.VrmapBean
import com.mints.street.databinding.FragmentFreeZoneBinding import com.mints.street.databinding.FragmentFreeZoneBinding
import com.scwang.smartrefresh.layout.api.RefreshLayout
import com.scwang.smartrefresh.layout.listener.OnRefreshListener
import me.goldze.mvvmhabit.utils.KLog
/** /**
* Created by 冯瑞雨 on 2021/7/9. * Created by 冯瑞雨 on 2021/7/9.
...@@ -65,7 +61,7 @@ class FreeZoneFragment : BaseFragment<FragmentFreeZoneBinding, FreeZoneViewModel ...@@ -65,7 +61,7 @@ class FreeZoneFragment : BaseFragment<FragmentFreeZoneBinding, FreeZoneViewModel
// mAdapter?.addAdapter(enterDestinationAdapter) // mAdapter?.addAdapter(enterDestinationAdapter)
// } // }
if (gridMapAdapter == null){ if (gridMapAdapter == null){
gridMapAdapter = GridMapAdapter(context!!, it.internal) gridMapAdapter = GridMapAdapter(context, it.internal)
mAdapter?.addAdapter(gridMapAdapter) mAdapter?.addAdapter(gridMapAdapter)
} }
gridMapAdapter?.list = it.internal gridMapAdapter?.list = it.internal
......
...@@ -109,7 +109,7 @@ object ApiModel { ...@@ -109,7 +109,7 @@ object ApiModel {
/** /**
* 精选体验详情 * 精选体验详情
*/ */
fun getChooseExperienceData(lifecycleProvider: LifecycleProvider<Any>?, map: Map<String, Any>):Observable<Response<BaseResponse<DetailedBean>>>{ fun getChooseExperienceData(lifecycleProvider: LifecycleProvider<Any>?, map: Map<String, String?>):Observable<Response<BaseResponse<DetailedBean>>>{
return HttpManager.getInstance().execute(lifecycleProvider,MainApi.newInstance().getChooseExperienceData(map)) return HttpManager.getInstance().execute(lifecycleProvider,MainApi.newInstance().getChooseExperienceData(map))
} }
/** /**
......
...@@ -6,7 +6,6 @@ import android.graphics.drawable.ColorDrawable ...@@ -6,7 +6,6 @@ import android.graphics.drawable.ColorDrawable
import android.os.Bundle import android.os.Bundle
import android.util.DisplayMetrics import android.util.DisplayMetrics
import android.view.* import android.view.*
import androidx.lifecycle.MutableLiveData
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.alibaba.android.vlayout.DelegateAdapter import com.alibaba.android.vlayout.DelegateAdapter
import com.alibaba.android.vlayout.VirtualLayoutManager import com.alibaba.android.vlayout.VirtualLayoutManager
...@@ -23,8 +22,8 @@ import com.mints.street.bean.MapStyleSortBean ...@@ -23,8 +22,8 @@ import com.mints.street.bean.MapStyleSortBean
* 弹出框 * 弹出框
*/ */
class DialogMapStyle( class DialogMapStyle(
var mContext: Context, var mContext: Context?,
var mapStyleBean: MapStyleSortBean?,val onMapStyleDataChange :OnMapStyleDataChange?=null var mapStyleBean: MapStyleSortBean?, val onMapStyleDataChange:OnMapStyleDataChange?=null
) : BaseDialogFragment() { ) : BaseDialogFragment() {
private var recycler: RecyclerView? = null private var recycler: RecyclerView? = null
private var vLayout: VirtualLayoutManager? = null private var vLayout: VirtualLayoutManager? = null
......
...@@ -6,7 +6,6 @@ import android.content.DialogInterface ...@@ -6,7 +6,6 @@ import android.content.DialogInterface
import android.content.Intent import android.content.Intent
import android.net.Uri import android.net.Uri
import android.provider.Settings import android.provider.Settings
import com.mints.street.adapter.GridBenfitViewModel
import com.mints.street.bean.Places import com.mints.street.bean.Places
import com.mints.street.main.home.HomeViewModel import com.mints.street.main.home.HomeViewModel
import java.lang.ref.WeakReference import java.lang.ref.WeakReference
......
...@@ -14,12 +14,11 @@ import com.google.android.material.bottomsheet.BottomSheetDialog ...@@ -14,12 +14,11 @@ import com.google.android.material.bottomsheet.BottomSheetDialog
import com.mints.street.R import com.mints.street.R
import com.mints.street.adapter.ItemHotViewAdapter import com.mints.street.adapter.ItemHotViewAdapter
import com.mints.street.bean.HotViewBean import com.mints.street.bean.HotViewBean
import com.mints.street.main.home.HomeFragment
import com.mints.street.main.home.HomeViewModel import com.mints.street.main.home.HomeViewModel
import com.mints.street.widget.GridItemDecoration import com.mints.street.widget.GridItemDecoration
class HotViewDialog(context: FragmentActivity, viewModel: HomeViewModel, mCurrentLat:Double, class HotViewDialog(context: FragmentActivity, viewModel: HomeViewModel, mCurrentLat: Double,
mCurrentLon:Double,fragment: Fragment, val onHotItemClick: OnHotItemClick?=null) { mCurrentLon: Double, fragment: Fragment, val onHotItemClick: OnHotItemClick? = null) {
private var mBottomSheetDialog: BottomSheetDialog? = null private var mBottomSheetDialog: BottomSheetDialog? = null
private var context: FragmentActivity private var context: FragmentActivity
...@@ -37,8 +36,8 @@ class HotViewDialog(context: FragmentActivity, viewModel: HomeViewModel, mCurren ...@@ -37,8 +36,8 @@ class HotViewDialog(context: FragmentActivity, viewModel: HomeViewModel, mCurren
this.context = context this.context = context
this.viewModel = viewModel this.viewModel = viewModel
this.fragment = fragment this.fragment = fragment
this.mCurrentLat=mCurrentLat this.mCurrentLat = mCurrentLat
this.mCurrentLon=mCurrentLon this.mCurrentLon = mCurrentLon
} }
// //
...@@ -48,8 +47,11 @@ class HotViewDialog(context: FragmentActivity, viewModel: HomeViewModel, mCurren ...@@ -48,8 +47,11 @@ class HotViewDialog(context: FragmentActivity, viewModel: HomeViewModel, mCurren
if (mBottomSheetDialog != null) return this if (mBottomSheetDialog != null) return this
mBottomSheetDialog = BottomSheetDialog(context) mBottomSheetDialog = BottomSheetDialog(context)
val view1: View = LayoutInflater.from(context).inflate(R.layout.layout_hotview, null) val view1: View = LayoutInflater.from(context).inflate(R.layout.layout_hotview, null)
mBottomSheetDialog!!.setContentView(view1) if (mBottomSheetDialog != null) {
mBottomSheetDialog!!.window!!.findViewById<View>(R.id.design_bottom_sheet).setBackgroundColor(Color.TRANSPARENT) mBottomSheetDialog?.setContentView(view1)
mBottomSheetDialog?.window?.findViewById<View>(R.id.design_bottom_sheet)?.setBackgroundColor(Color.TRANSPARENT)
}
val iv_close: ImageView = view1.findViewById(R.id.iv_close) val iv_close: ImageView = view1.findViewById(R.id.iv_close)
val recycler_view: RecyclerView = view1.findViewById(R.id.recycler_view) val recycler_view: RecyclerView = view1.findViewById(R.id.recycler_view)
//添加下划线 //添加下划线
...@@ -65,13 +67,13 @@ class HotViewDialog(context: FragmentActivity, viewModel: HomeViewModel, mCurren ...@@ -65,13 +67,13 @@ class HotViewDialog(context: FragmentActivity, viewModel: HomeViewModel, mCurren
viewModel?.hotviewData?.observe(fragment!!, androidx.lifecycle.Observer { viewModel?.hotviewData?.observe(fragment!!, androidx.lifecycle.Observer {
if (itemHotViewAdapter == null) { if (itemHotViewAdapter == null) {
itemHotViewAdapter = ItemHotViewAdapter(context, mBottomSheetDialog, itemHotViewAdapter = ItemHotViewAdapter(context, mBottomSheetDialog,
it.list, viewModel!!,mCurrentLat!!,mCurrentLon!!,onHotItemClick) it.list, viewModel!!, mCurrentLat!!, mCurrentLon!!, onHotItemClick)
mAdapter?.addAdapter(itemHotViewAdapter) mAdapter?.addAdapter(itemHotViewAdapter)
} }
mAdapter?.notifyDataSetChanged() mAdapter?.notifyDataSetChanged()
}) })
iv_close.setOnClickListener { iv_close.setOnClickListener {
mBottomSheetDialog!!.dismiss() if (mBottomSheetDialog!=null) mBottomSheetDialog?.dismiss()
} }
return this return this
...@@ -81,14 +83,15 @@ class HotViewDialog(context: FragmentActivity, viewModel: HomeViewModel, mCurren ...@@ -81,14 +83,15 @@ class HotViewDialog(context: FragmentActivity, viewModel: HomeViewModel, mCurren
* 展示 * 展示
*/ */
fun show() { fun show() {
mBottomSheetDialog!!.show() mBottomSheetDialog?.show()
} }
fun onDestroy() { fun onDestroy() {
mBottomSheetDialog = null mBottomSheetDialog = null
} }
interface OnHotItemClick { interface OnHotItemClick {
fun onItemClick(position: Int,itemBean: HotViewBean.Dataslist?) fun onItemClick(position: Int, itemBean: HotViewBean.Dataslist?)
} }
} }
...@@ -10,13 +10,12 @@ import androidx.recyclerview.widget.RecyclerView ...@@ -10,13 +10,12 @@ import androidx.recyclerview.widget.RecyclerView
import com.alibaba.android.vlayout.DelegateAdapter import com.alibaba.android.vlayout.DelegateAdapter
import com.alibaba.android.vlayout.VirtualLayoutManager import com.alibaba.android.vlayout.VirtualLayoutManager
import com.mints.street.R import com.mints.street.R
import com.mints.street.adapter.GridBenfitViewModel import com.mints.street.adapter.GridBenfitAdapter
import com.mints.street.bean.Places import com.mints.street.bean.Places
import com.mints.street.main.home.HomeViewModel import com.mints.street.main.home.HomeViewModel
import me.goldze.mvvmhabit.utils.RxUtils import me.goldze.mvvmhabit.utils.RxUtils
import com.mints.street.adapter.GridBenfitAdapter as GridBenfitAdapter
class ShowBenfitDialog(context: Context, val viewMode: HomeViewModel, places: List<Places>?) : class ShowBenfitDialog(context: Context, val viewMode: HomeViewModel?, places: List<Places>?) :
Dialog(context, R.style.dialog) { Dialog(context, R.style.dialog) {
private val lp: WindowManager.LayoutParams private val lp: WindowManager.LayoutParams
......
...@@ -8,12 +8,8 @@ import android.view.KeyEvent ...@@ -8,12 +8,8 @@ import android.view.KeyEvent
import android.view.WindowManager import android.view.WindowManager
import android.widget.Button import android.widget.Button
import android.widget.ImageView import android.widget.ImageView
import androidx.fragment.app.FragmentActivity
import com.alibaba.android.vlayout.DelegateAdapter
import com.alibaba.android.vlayout.VirtualLayoutManager
import com.blankj.utilcode.util.ActivityUtils.startActivity import com.blankj.utilcode.util.ActivityUtils.startActivity
import com.mints.street.R import com.mints.street.R
import com.mints.street.adapter.GridBenfitAdapter
import com.mints.street.main.my.OpenvipActivity import com.mints.street.main.my.OpenvipActivity
import me.goldze.mvvmhabit.utils.RxUtils import me.goldze.mvvmhabit.utils.RxUtils
......
...@@ -5,73 +5,66 @@ import android.content.Intent ...@@ -5,73 +5,66 @@ import android.content.Intent
import android.graphics.Color import android.graphics.Color
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.widget.ImageView
import android.widget.TextView import android.widget.TextView
import androidx.fragment.app.FragmentActivity
import androidx.recyclerview.widget.DividerItemDecoration
import androidx.recyclerview.widget.RecyclerView
import com.alibaba.android.vlayout.DelegateAdapter
import com.alibaba.android.vlayout.VirtualLayoutManager
import com.baidu.mapapi.model.LatLng import com.baidu.mapapi.model.LatLng
import com.baidu.mapapi.utils.DistanceUtil import com.baidu.mapapi.utils.DistanceUtil
import com.fry.base.utils.ImageLoader import com.fry.base.utils.ImageLoader
import com.google.android.material.bottomsheet.BottomSheetDialog import com.google.android.material.bottomsheet.BottomSheetDialog
import com.mints.street.R import com.mints.street.R
import com.mints.street.adapter.ItemHotViewAdapter
import com.mints.street.bean.GPS import com.mints.street.bean.GPS
import com.mints.street.bean.ViewRecommedBean import com.mints.street.bean.ViewRecommedBean
import com.mints.street.main.home.HomeFragment
import com.mints.street.main.home.HomeViewModel import com.mints.street.main.home.HomeViewModel
import com.mints.street.main.my.OpenvipActivity import com.mints.street.main.my.OpenvipActivity
import com.mints.street.manager.UserManager import com.mints.street.manager.UserManager
import com.mints.street.webview.MintsWebViewActivity
import com.mints.street.widget.GridItemDecoration
import com.mints.street.widget.XCRoundRectImageView import com.mints.street.widget.XCRoundRectImageView
import me.goldze.mvvmhabit.base.AppManager import me.goldze.mvvmhabit.base.AppManager
import me.goldze.mvvmhabit.utils.RxUtils import me.goldze.mvvmhabit.utils.RxUtils
import java.text.DecimalFormat import java.text.DecimalFormat
class ViewRecommedDialog (context: Context?, bean: ViewRecommedBean?,gps:GPS?,homeViewModel: HomeViewModel) { class ViewRecommedDialog(context: Context?, bean: ViewRecommedBean?, gps: GPS?, homeViewModel: HomeViewModel) {
private var mBottomSheetDialog: BottomSheetDialog?=null private var mBottomSheetDialog: BottomSheetDialog? = null
private var context: Context?=null private var context: Context? = null
private var bean: ViewRecommedBean?=null private var bean: ViewRecommedBean? = null
private var homeViewModel: HomeViewModel?=null private var homeViewModel: HomeViewModel? = null
private var gps: GPS?=null private var gps: GPS? = null
init { init {
this.context=context this.context = context
this.bean=bean this.bean = bean
this.gps=gps this.gps = gps
this.homeViewModel=homeViewModel this.homeViewModel = homeViewModel
} }
// //
fun init(): ViewRecommedDialog { fun init(): ViewRecommedDialog {
//创建弹窗 //创建弹窗
if (mBottomSheetDialog!=null) return this if (mBottomSheetDialog != null) return this
mBottomSheetDialog= BottomSheetDialog(context!!) mBottomSheetDialog = BottomSheetDialog(context!!)
val view1: View = LayoutInflater.from(context).inflate(R.layout.layout_viewrecommed,null) val view1: View = LayoutInflater.from(context).inflate(R.layout.layout_viewrecommed, null)
mBottomSheetDialog!!.setContentView(view1) if (mBottomSheetDialog != null) {
mBottomSheetDialog!!.window!!.findViewById<View>(R.id.design_bottom_sheet).setBackgroundColor(Color.TRANSPARENT) mBottomSheetDialog?.setContentView(view1)
val viewname: TextView =view1.findViewById(R.id.viewname) mBottomSheetDialog?.window?.findViewById<View>(R.id.design_bottom_sheet)?.setBackgroundColor(Color.TRANSPARENT)
val tvDistance: TextView =view1.findViewById(R.id.tv_distance) }
val image1: XCRoundRectImageView =view1.findViewById(R.id.image1) val viewname: TextView = view1.findViewById(R.id.viewname)
val tvDescribe: TextView =view1.findViewById(R.id.tv_describe) val tvDistance: TextView = view1.findViewById(R.id.tv_distance)
val textView5: TextView =view1.findViewById(R.id.textView5) val image1: XCRoundRectImageView = view1.findViewById(R.id.image1)
val tvDescribe: TextView = view1.findViewById(R.id.tv_describe)
val textView5: TextView = view1.findViewById(R.id.textView5)
viewname.text = bean?.name viewname.text = bean?.name
val a = DistanceUtil.getDistance(LatLng(bean?.blat?.toDouble()?:0.0, val a = DistanceUtil.getDistance(LatLng(bean?.blat?.toDouble() ?: 0.0,
bean?.blng?.toDouble()?:0.0) ,LatLng( bean?.blng?.toDouble() ?: 0.0), LatLng(
gps?.lat?:0.0,gps?.lng?:0.0)) gps?.lat ?: 0.0, gps?.lng ?: 0.0))
tvDistance.text = "距离${DecimalFormat("0.00").format(a/1000).toString()}km" tvDistance.text = "距离${DecimalFormat("0.00").format(a / 1000).toString()}km"
ImageLoader.ImageBuilder.with(context) ImageLoader.ImageBuilder.with(context)
.setUrl(bean?.img).setTargetView(image1).start() .setUrl(bean?.img).setTargetView(image1).start()
tvDescribe.text = bean?.desc tvDescribe.text = bean?.desc
RxUtils.onMultiClick(textView5){ RxUtils.onMultiClick(textView5) {
if(UserManager.INSTANCE.getVipFlag()){ if (UserManager.INSTANCE.getVipFlag()) {
homeViewModel?.authorized( bean?.bvid,bean?.name) homeViewModel?.authorized(bean?.bvid, bean?.name)
}else{ } else {
AppManager.getAppManager().currentActivity?.apply { AppManager.getAppManager().currentActivity?.apply {
this.startActivity(Intent(this, OpenvipActivity::class.java)) this.startActivity(Intent(this, OpenvipActivity::class.java))
} }
...@@ -84,7 +77,7 @@ class ViewRecommedDialog (context: Context?, bean: ViewRecommedBean?,gps:GPS?,ho ...@@ -84,7 +77,7 @@ class ViewRecommedDialog (context: Context?, bean: ViewRecommedBean?,gps:GPS?,ho
* 展示 * 展示
*/ */
fun show() { fun show() {
mBottomSheetDialog!!.show() mBottomSheetDialog?.show()
} }
fun onDestroy() { fun onDestroy() {
......
...@@ -53,9 +53,10 @@ class WxLoginDialog(context: FragmentActivity) : OnLoginListener { ...@@ -53,9 +53,10 @@ class WxLoginDialog(context: FragmentActivity) : OnLoginListener {
mBottomSheetDialog = BottomSheetDialog(context) mBottomSheetDialog = BottomSheetDialog(context)
val view1: View = LayoutInflater.from(context).inflate(R.layout.layout_popupwindow, null) val view1: View = LayoutInflater.from(context).inflate(R.layout.layout_popupwindow, null)
mBottomSheetDialog!!.setContentView(view1) if (mBottomSheetDialog!=null) {
mBottomSheetDialog!!.window!!.findViewById<View>(design_bottom_sheet).setBackgroundColor(Color.TRANSPARENT) mBottomSheetDialog?.setContentView(view1)
mBottomSheetDialog?.window?.findViewById<View>(design_bottom_sheet)?.setBackgroundColor(Color.TRANSPARENT)
}
val iv_weixin: ImageView = view1.findViewById(R.id.iv_weixin) val iv_weixin: ImageView = view1.findViewById(R.id.iv_weixin)
val ly_phone: LinearLayoutCompat = view1.findViewById(R.id.ly_phone) val ly_phone: LinearLayoutCompat = view1.findViewById(R.id.ly_phone)
val cb_checked: CheckBox = view1.findViewById(R.id.cb_checked) val cb_checked: CheckBox = view1.findViewById(R.id.cb_checked)
...@@ -69,7 +70,7 @@ class WxLoginDialog(context: FragmentActivity) : OnLoginListener { ...@@ -69,7 +70,7 @@ class WxLoginDialog(context: FragmentActivity) : OnLoginListener {
MintsWebViewActivity.startWebView(name = "隐私协议", url = Constant.PRIVACY_URL) MintsWebViewActivity.startWebView(name = "隐私协议", url = Constant.PRIVACY_URL)
} }
iv_weixin.setOnClickListener { iv_weixin.setOnClickListener {
if (cb_checked!!.isChecked) { if (cb_checked.isChecked) {
val wechat = ShareSDK.getPlatform(Wechat.NAME) val wechat = ShareSDK.getPlatform(Wechat.NAME)
if (!wechat.isClientValid) { if (!wechat.isClientValid) {
ToastUtils.showShort("请先安装微信") ToastUtils.showShort("请先安装微信")
...@@ -83,19 +84,23 @@ class WxLoginDialog(context: FragmentActivity) : OnLoginListener { ...@@ -83,19 +84,23 @@ class WxLoginDialog(context: FragmentActivity) : OnLoginListener {
loginApi.setPlatform(Wechat.NAME) loginApi.setPlatform(Wechat.NAME)
loginApi.login(context) loginApi.login(context)
} else { } else {
DialogUtils.showPermissionDialog(context,"设备") DialogUtils.showPermissionDialog(context, "设备")
} }
}) })
mBottomSheetDialog!!.dismiss() if (mBottomSheetDialog != null) {
mBottomSheetDialog?.dismiss()
}
} else { } else {
ToastUtils.showLong("请先同意用户协议与隐私政策") ToastUtils.showLong("请先同意用户协议与隐私政策")
} }
} }
RxUtils.onMultiClick(ly_phone) { RxUtils.onMultiClick(ly_phone) {
if (cb_checked!!.isChecked) { if (cb_checked.isChecked) {
context.startActivity(Intent(context, LoginActivity::class.java)) context.startActivity(Intent(context, LoginActivity::class.java))
mBottomSheetDialog!!.dismiss() if (mBottomSheetDialog != null) {
mBottomSheetDialog?.dismiss()
}
} else { } else {
ToastUtils.showLong("请先同意用户协议与隐私政策") ToastUtils.showLong("请先同意用户协议与隐私政策")
} }
......
...@@ -95,14 +95,16 @@ abstract class VHModel { ...@@ -95,14 +95,16 @@ abstract class VHModel {
class VH<Model : VHModel>(view: View) : class VH<Model : VHModel>(view: View) :
RecyclerView.ViewHolder(view) { RecyclerView.ViewHolder(view) {
private val binding = DataBindingUtil.bind<ViewDataBinding>(view)!! private val binding = DataBindingUtil.bind<ViewDataBinding>(view)
private var model: Model? = null private var model: Model? = null
private var isBinding: Boolean = false private var isBinding: Boolean = false
fun onBind(newModel: Model) { fun onBind(newModel: Model) {
val oldModel = model val oldModel = model
oldModel?.onUnBind() oldModel?.onUnBind()
newModel.onBind(binding) if (binding != null) {
newModel.onBind(binding)
}
model = newModel model = newModel
isBinding = true isBinding = true
} }
......
...@@ -19,7 +19,7 @@ class HorizontalScrollView (context: Context, attributeSet: AttributeSet): Horiz ...@@ -19,7 +19,7 @@ class HorizontalScrollView (context: Context, attributeSet: AttributeSet): Horiz
override fun onScrollChanged(l: Int, t: Int, oldl: Int, oldt: Int) { override fun onScrollChanged(l: Int, t: Int, oldl: Int, oldt: Int) {
super.onScrollChanged(l, t, oldl, oldt) super.onScrollChanged(l, t, oldl, oldt)
if (mListener != null) { if (mListener != null) {
mListener!!(this, l, t, oldl, oldt) mListener?.invoke(this, l, t, oldl, oldt)
} }
} }
} }
\ No newline at end of file
...@@ -8,16 +8,14 @@ ...@@ -8,16 +8,14 @@
<application> <application>
<activity <activity
android:name=".base.ContainerActivity" android:name=".base.ContainerActivity"
android:screenOrientation="portrait" android:screenOrientation="portrait"></activity>
></activity>
<activity <activity
android:configChanges="screenLayout|screenSize|smallestScreenSize|orientation|keyboardHidden"
android:name=".crash.DefaultErrorActivity" android:name=".crash.DefaultErrorActivity"
android:configChanges="screenLayout|screenSize|smallestScreenSize|orientation|keyboardHidden"
android:process=":error_activity" android:process=":error_activity"
android:screenOrientation="portrait" android:screenOrientation="portrait" />
/>
<provider <provider
android:name=".crash.CaocInitProvider" android:name=".crash.CaocInitProvider"
android:authorities="${applicationId}.5g.customactivityoncrashinitprovider" android:authorities="${applicationId}.5g.customactivityoncrashinitprovider"
android:exported="false" android:exported="false"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment