From f0c13cba15e3ee5a9812d9bc4987611e304b0fa6 Mon Sep 17 00:00:00 2001 From: lijia Date: Fri, 1 Nov 2024 17:29:24 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=A6=E9=95=BF=E8=BD=A6=E5=9E=8B=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/home/activtiy/CarTypeActivity.kt | 108 +++++++++++++----- .../ui/home/activtiy/GoodsInfoActivity.kt | 9 +- app/src/main/res/layout/activity_car_type.xml | 10 +- 3 files changed, 84 insertions(+), 43 deletions(-) diff --git a/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/CarTypeActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/CarTypeActivity.kt index 735bb6d..cab50e1 100644 --- a/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/CarTypeActivity.kt +++ b/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/CarTypeActivity.kt @@ -1,15 +1,25 @@ package com.dhsd.glowner.ui.home.activtiy +import BaseObserver +import DataManager +import RxHttpCallBack import android.os.Bundle +import android.view.View import androidx.recyclerview.widget.GridLayoutManager import com.dahe.mylibrary.base.BaseActivity +import com.dahe.mylibrary.net.CommonResponseBean import com.dahe.mylibrary.weight.FullyGridLayoutManager import com.dhsd.glowner.R import com.dhsd.glowner.adapter.PackingTypeAdapter +import com.dhsd.glowner.bean.DictBean import com.dhsd.glowner.bean.PackTypeBean import com.dhsd.glowner.databinding.ActivityCarTypeBinding +import com.dhsd.glowner.utils.OnLimitClickHelper +import com.dhsd.glowner.utils.OnLimitClickListener import com.luck.picture.lib.decoration.GridSpacingItemDecoration import com.luck.picture.lib.utils.DensityUtil +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers +import io.reactivex.rxjava3.schedulers.Schedulers /** * @ClassName CarTypeActivity @@ -17,24 +27,15 @@ import com.luck.picture.lib.utils.DensityUtil * @Date 2024/2/5 09:22 * @Description TODO */ -class CarTypeActivity : BaseActivity() { +class CarTypeActivity : BaseActivity(), OnLimitClickListener { + lateinit var adapterCc: PackingTypeAdapter + lateinit var adapterCx: PackingTypeAdapter override fun initView(savedInstanceState: Bundle?) { setStatusBarColor(R.color.white) setTitleBar("用车类型", true) - var datas = mutableListOf( - PackTypeBean("4.2米", 0), - PackTypeBean("4.2米", 1, true), - PackTypeBean("4.2米", 2), - PackTypeBean("4.2米", 3), - PackTypeBean("4.2米", 4), - PackTypeBean("4.2米", 5), - PackTypeBean("4.2米", 6), - PackTypeBean("4.2米", 7) - ) - - binding.recycler1.run { + adapterCc = binding.recycler1.run { layoutManager = FullyGridLayoutManager(mContext, 3, GridLayoutManager.VERTICAL, false) addItemDecoration( GridSpacingItemDecoration( @@ -46,25 +47,19 @@ class CarTypeActivity : BaseActivity() { adapter as PackingTypeAdapter }.apply { addOnItemChildClickListener(R.id.rbWord) { adapter, view, position -> - datas[position].isCheck = !datas[position].isCheck - this.notifyItemChanged(position) + val size = adapter.items.filter { it.isCheck }.size + val check = adapter.items[position].isCheck + if (size > 2 && !check) { + showToast("最多选择三项") + return@addOnItemChildClickListener + } + adapter.items[position].isCheck = !adapter.items[position].isCheck + this.notifyItemChanged(position) } -// submitList(datas) } - var datas2 = mutableListOf( - PackTypeBean("平板", 0), - PackTypeBean("平板", 1, true), - PackTypeBean("平板", 2), - PackTypeBean("平板", 3), - PackTypeBean("平板", 4), - PackTypeBean("平板", 5), - PackTypeBean("平板", 6), - PackTypeBean("平板", 7) - ) - - binding.recycler2.run { + adapterCx = binding.recycler2.run { layoutManager = FullyGridLayoutManager(mContext, 3, GridLayoutManager.VERTICAL, false) addItemDecoration( GridSpacingItemDecoration( @@ -76,13 +71,66 @@ class CarTypeActivity : BaseActivity() { adapter as PackingTypeAdapter }.apply { addOnItemChildClickListener(R.id.rbWord) { adapter, view, position -> - datas2[position].isCheck = !datas2[position].isCheck + val size = adapter.items.filter { it.isCheck }.size + val check = adapter.items[position].isCheck + if (size > 2 && !check) { + showToast("最多选择三项") + return@addOnItemChildClickListener + } + adapter.items[position].isCheck = !adapter.items[position].isCheck this.notifyItemChanged(position) } -// submitList(datas2) + } + binding.btnOk.setOnClickListener(OnLimitClickHelper(this)) + } + + override fun onClick(view: View?) { + super.onClick(view) + when (view?.id) { + R.id.btnOk -> { + subMint() + } } } override fun initDate() { + + //车长 + DataManager.getInstance().getDictData("shipper_car_length") + .subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()) + .subscribe(BaseObserver(mContext, object : RxHttpCallBack>() { + override fun onSuccess(t: CommonResponseBean>) { + super.onSuccess(t) + initList(adapterCc,t.data) + } + })) + //车辆类型 + DataManager.getInstance().getDictData("shipper_car_type") + .subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()) + .subscribe(BaseObserver(mContext, object : RxHttpCallBack>() { + override fun onSuccess(t: CommonResponseBean>) { + super.onSuccess(t) + initList(adapterCx,t.data) + } + })) + } + + private fun initList(adapter: PackingTypeAdapter,rows: List) { + if (rows.isEmpty()) { + adapter.submitList(null) + adapter.setStateViewLayout(mContext, R.layout.empty_view) + } else { + if (mRefreshPage === 1) { + adapter?.submitList(rows) + } else { + adapter?.addAll(rows) + } + } + } + + private fun subMint(){ + val dataCc = adapterCc.items.filter { it.isCheck } + val dataCx = adapterCx.items.filter { it.isCheck } + dataCx.toString() } } \ No newline at end of file diff --git a/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/GoodsInfoActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/GoodsInfoActivity.kt index 3f77bd4..a626410 100644 --- a/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/GoodsInfoActivity.kt +++ b/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/GoodsInfoActivity.kt @@ -56,14 +56,7 @@ class GoodsInfoActivity : BaseActivity(), adapter as PackingTypeAdapter }.apply { addOnItemChildClickListener(R.id.rbWord) { adapter, view, position -> -// val size = adapter.items.filter { it.isCheck }.size -// val check = adapter.items[position].isCheck -// if (size > 2 && !check) { -// showToast("最多选择三项") -// return@addOnItemChildClickListener -// } -// adapter.items[position].isCheck = !adapter.items[position].isCheck -// this.notifyItemChanged(position) + val items = adapter.items val indexOfFirst = items.indexOfFirst { it.isCheck } diff --git a/app/src/main/res/layout/activity_car_type.xml b/app/src/main/res/layout/activity_car_type.xml index 7dca274..a9278e3 100644 --- a/app/src/main/res/layout/activity_car_type.xml +++ b/app/src/main/res/layout/activity_car_type.xml @@ -55,8 +55,8 @@ android:layout_marginTop="@dimen/dp_3" android:layout_marginRight="@dimen/dp_5" android:background="@drawable/shape_white_8" - android:paddingTop="@dimen/dp_15" - android:paddingBottom="@dimen/dp_15" /> + android:paddingTop="@dimen/dp_10" + /> @@ -94,8 +94,8 @@ android:layout_marginTop="@dimen/dp_3" android:layout_marginRight="@dimen/dp_5" android:background="@drawable/shape_white_8" - android:paddingTop="@dimen/dp_15" - android:paddingBottom="@dimen/dp_15" /> + android:paddingTop="@dimen/dp_10" + /> @@ -117,7 +117,7 @@