车长车型数据获取

This commit is contained in:
lijia 2024-11-01 17:29:24 +08:00
parent 4adbd239e7
commit f0c13cba15
3 changed files with 84 additions and 43 deletions

View File

@ -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<ActivityCarTypeBinding>() {
class CarTypeActivity : BaseActivity<ActivityCarTypeBinding>(), OnLimitClickListener {
lateinit var adapterCc: PackingTypeAdapter
lateinit var adapterCx: PackingTypeAdapter
override fun initView(savedInstanceState: Bundle?) {
setStatusBarColor(R.color.white)
setTitleBar("用车类型", true)
var datas = mutableListOf<PackTypeBean>(
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<ActivityCarTypeBinding>() {
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>(
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<ActivityCarTypeBinding>() {
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<MutableList<DictBean>>() {
override fun onSuccess(t: CommonResponseBean<MutableList<DictBean>>) {
super.onSuccess(t)
initList(adapterCc,t.data)
}
}))
//车辆类型
DataManager.getInstance().getDictData("shipper_car_type")
.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
.subscribe(BaseObserver(mContext, object : RxHttpCallBack<MutableList<DictBean>>() {
override fun onSuccess(t: CommonResponseBean<MutableList<DictBean>>) {
super.onSuccess(t)
initList(adapterCx,t.data)
}
}))
}
private fun initList(adapter: PackingTypeAdapter,rows: List<DictBean>) {
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()
}
}

View File

@ -56,14 +56,7 @@ class GoodsInfoActivity : BaseActivity<ActivityGoodsInfoBinding>(),
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 }

View File

@ -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"
/>
</LinearLayout>
@ -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"
/>
</LinearLayout>
@ -117,7 +117,7 @@
<Button
android:id="@+id/btnRight"
android:id="@+id/btnOk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"