From 6c965eb5212188de37d70ba912c46df88b8e52ce Mon Sep 17 00:00:00 2001 From: lijia Date: Thu, 31 Oct 2024 17:18:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=99=AE=E9=80=9A=E8=A3=85=E8=B4=A7=E5=9C=B0?= =?UTF-8?q?=E5=9D=80=E9=80=89=E6=8B=A9=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dhsd/glowner/adapter/SendGoodsAdapter.kt | 26 ++++++---- .../java/com/dhsd/glowner/bean/AddressBean.kt | 19 ++++++- .../ui/address/AddressEditOrAddActivity.kt | 35 ++++++------- .../glowner/ui/address/AddressListActivity.kt | 12 +++-- .../com/dhsd/glowner/ui/home/HomeFragment.kt | 3 +- .../ui/home/activtiy/SendGoodsActivity.kt | 50 +++++++++++++++---- app/src/main/res/layout/item_send_goods.xml | 10 ++-- 7 files changed, 110 insertions(+), 45 deletions(-) diff --git a/app/src/main/java/com/dhsd/glowner/adapter/SendGoodsAdapter.kt b/app/src/main/java/com/dhsd/glowner/adapter/SendGoodsAdapter.kt index 6f19833..80f2efc 100644 --- a/app/src/main/java/com/dhsd/glowner/adapter/SendGoodsAdapter.kt +++ b/app/src/main/java/com/dhsd/glowner/adapter/SendGoodsAdapter.kt @@ -7,6 +7,7 @@ import com.chad.library.adapter4.QuickAdapterHelper import com.chad.library.adapter4.viewholder.QuickViewHolder import com.dahe.glex.bean.WayBillBean import com.dhsd.glowner.R +import com.dhsd.glowner.bean.AddressBean /** * @ClassName SendGoodsAdapter @@ -14,16 +15,23 @@ import com.dhsd.glowner.R * @Date 2024/2/4 09:37 * @Description TODO */ -class SendGoodsAdapter : BaseQuickAdapter() { - override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: WayBillBean?) { - - if (0==position){ - holder.setBackgroundResource(R.id.ivType,R.drawable.icon_loading) - }else if (position==items.size-1){ - holder.setBackgroundResource(R.id.ivType,R.drawable.icon_unloading) - }else{ - holder.setBackgroundResource(R.id.ivType,R.drawable.icon_point) +class SendGoodsAdapter : BaseQuickAdapter() { + override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: AddressBean?) { + item?.run { + holder.run { + if (0==position){ + setBackgroundResource(R.id.ivType,R.drawable.icon_loading) + }else if (position==items.size-1){ + setBackgroundResource(R.id.ivType,R.drawable.icon_unloading) + }else{ + setBackgroundResource(R.id.ivType,R.drawable.icon_point) + } + setText(R.id.tvAddress, item.addressDetail) + setText(R.id.tvPerson, """${item.contactPerson} ${item.contactNumber}""".trim()) + } } + + } override fun onCreateViewHolder( diff --git a/app/src/main/java/com/dhsd/glowner/bean/AddressBean.kt b/app/src/main/java/com/dhsd/glowner/bean/AddressBean.kt index 5f8ba24..c7dae40 100644 --- a/app/src/main/java/com/dhsd/glowner/bean/AddressBean.kt +++ b/app/src/main/java/com/dhsd/glowner/bean/AddressBean.kt @@ -101,7 +101,24 @@ data class AddressBean( val updateBy: String, val updateTime: String, val userType: String -) +) { + constructor() : this( + "", "", "", "", "", + "", "", "", "", "", + "", "", "", "", "", "", + "", "", "", "", "", "", + "", "", "", "", "" + ) +} + +data class AddressListBean( + val addressDetail: String, + val addressId: String +) { + + + constructor() : this("", "") +} diff --git a/app/src/main/java/com/dhsd/glowner/ui/address/AddressEditOrAddActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/address/AddressEditOrAddActivity.kt index 99f276c..970222a 100644 --- a/app/src/main/java/com/dhsd/glowner/ui/address/AddressEditOrAddActivity.kt +++ b/app/src/main/java/com/dhsd/glowner/ui/address/AddressEditOrAddActivity.kt @@ -27,6 +27,7 @@ import com.dahe.mylibrary.utils.ToastUtils import com.dahe.mylibrary.weight.SwitchView import com.dhsd.glowner.R import com.dhsd.glowner.adapter.SendGoodsAdapter +import com.dhsd.glowner.bean.AddressBean import com.dhsd.glowner.bean.PostAddressBean import com.dhsd.glowner.databinding.ActivityAddressEditBinding import com.dhsd.glowner.ui.mine.activity.ChoiceCarActivity @@ -93,23 +94,23 @@ class AddressEditOrAddActivity : BaseActivity(), } - var datas = mutableListOf( - WayBillBean(), - WayBillBean(), - WayBillBean() - ) - binding.recycler.run { - layoutManager = LinearLayoutManager(mContext, RecyclerView.VERTICAL, false) - addItemDecoration( - RecycleViewDivider( - LinearLayout.VERTICAL, - ConvertUtils.dp2px(14.0f), - Color.TRANSPARENT - ) - ) - adapter = SendGoodsAdapter() - adapter as SendGoodsAdapter - }.submitList(datas) +// var datas = mutableListOf( +// AddressBean(), +// AddressBean(), +// AddressBean() +// ) +// binding.recycler.run { +// layoutManager = LinearLayoutManager(mContext, RecyclerView.VERTICAL, false) +// addItemDecoration( +// RecycleViewDivider( +// LinearLayout.VERTICAL, +// ConvertUtils.dp2px(14.0f), +// Color.TRANSPARENT +// ) +// ) +// adapter = SendGoodsAdapter() +// adapter as SendGoodsAdapter +// }.submitList(datas) binding.run { tvSSQ.setOnClickListener(OnLimitClickHelper(this@AddressEditOrAddActivity)) diff --git a/app/src/main/java/com/dhsd/glowner/ui/address/AddressListActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/address/AddressListActivity.kt index c060e47..cb32f2e 100644 --- a/app/src/main/java/com/dhsd/glowner/ui/address/AddressListActivity.kt +++ b/app/src/main/java/com/dhsd/glowner/ui/address/AddressListActivity.kt @@ -3,6 +3,7 @@ package com.dhsd.glowner.ui.address import BaseObserver import DataManager import RxHttpCallBack +import android.app.Activity import android.content.Intent import android.graphics.Color import android.os.Bundle @@ -28,6 +29,7 @@ import com.dhsd.glowner.ui.mine.activity.ChoiceCarActivity import com.dhsd.glowner.utils.CommonPopUtils import com.dhsd.glowner.utils.OnLimitClickHelper import com.dhsd.glowner.utils.OnLimitClickListener +import com.google.gson.Gson import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.schedulers.Schedulers @@ -66,12 +68,16 @@ class AddressListActivity : BaseActivity(), adapter as AddressAdapter }.apply { isStateViewEnable = true - - setOnItemClickListener { adapter, view, position -> // adapter.items.find { it.isSelect }?.isSelect = false // adapter.getItem(position)?.isSelect = true - notifyDataSetChanged() + + setResult(Activity.RESULT_OK,Intent().apply { + putExtras(Bundle().apply { + putString(AppConfig.BEAN, Gson().toJson(adapter.items[position])) + }) + }) + finish() } addOnItemChildClickListener(R.id.tvEdit) { adapter, _, position -> diff --git a/app/src/main/java/com/dhsd/glowner/ui/home/HomeFragment.kt b/app/src/main/java/com/dhsd/glowner/ui/home/HomeFragment.kt index b13cae5..93bcfab 100644 --- a/app/src/main/java/com/dhsd/glowner/ui/home/HomeFragment.kt +++ b/app/src/main/java/com/dhsd/glowner/ui/home/HomeFragment.kt @@ -72,7 +72,8 @@ class HomeFragment : BaseFragment(), RefreshCallBack { } binding.ivMul.setOnClickListener { - ActivityUtils.startActivity(mContext, SendGoodsActivity::class.java) + showToast("开发中,敬请期待") +// ActivityUtils.startActivity(mContext, SendGoodsActivity::class.java) } initData() diff --git a/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/SendGoodsActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/SendGoodsActivity.kt index 20baa40..96014bc 100644 --- a/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/SendGoodsActivity.kt +++ b/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/SendGoodsActivity.kt @@ -1,12 +1,16 @@ package com.dhsd.glowner.ui.home.activtiy +import android.content.Intent import android.graphics.Color import android.os.Bundle import android.widget.LinearLayout +import androidx.activity.result.contract.ActivityResultContracts +import androidx.appcompat.app.AppCompatActivity import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.chad.library.adapter4.BaseQuickAdapter import com.chad.library.adapter4.BaseQuickAdapter.OnItemChildClickListener +import com.dahe.gldriver.base.AppConfig import com.dahe.glex.bean.WayBillBean import com.dahe.mylibrary.base.BaseActivity import com.dahe.mylibrary.recycleviewswipe.RecycleViewDivider @@ -15,8 +19,11 @@ import com.dahe.mylibrary.utils.ConvertUtils import com.dahe.mylibrary.utils.ToastUtils import com.dhsd.glowner.R import com.dhsd.glowner.adapter.SendGoodsAdapter +import com.dhsd.glowner.bean.AddressBean import com.dhsd.glowner.databinding.ActivitySendGoodsBinding import com.dhsd.glowner.ui.address.AddressListActivity +import com.dhsd.glowner.ui.mine.activity.ChoiceCarActivity +import com.google.gson.Gson /** * @ClassName SendGoodsActivity @@ -25,6 +32,9 @@ import com.dhsd.glowner.ui.address.AddressListActivity * @Description 普通发货 */ class SendGoodsActivity : BaseActivity() { + + private lateinit var datas: MutableList + private lateinit var adapter: SendGoodsAdapter override fun initView(savedInstanceState: Bundle?) { setStatusBarColor(R.color.white) setTitleBar("普通装货", true) @@ -34,9 +44,10 @@ class SendGoodsActivity : BaseActivity() { } - var datas = mutableListOf( - WayBillBean(), - WayBillBean() + + datas = mutableListOf( + AddressBean(), + AddressBean() ) binding.llGoods.setOnClickListener { @@ -48,11 +59,11 @@ class SendGoodsActivity : BaseActivity() { binding.btnOk.setOnLongClickListener { - ActivityUtils.startActivity(mContext,SendSuccActivity::class.java) + ActivityUtils.startActivity(mContext, SendSuccActivity::class.java) return@setOnLongClickListener true } - var adapter = binding.recycler.run { + adapter = binding.recycler.run { layoutManager = LinearLayoutManager(mContext, RecyclerView.VERTICAL, false) addItemDecoration( RecycleViewDivider( @@ -63,15 +74,34 @@ class SendGoodsActivity : BaseActivity() { ) adapter = SendGoodsAdapter() adapter as SendGoodsAdapter - }.run { - addOnItemChildClickListener(R.id.tvSelAddress) { adapter, view, position -> - ActivityUtils.startActivity(mContext, AddressListActivity::class.java) + }.apply { + setOnItemClickListener { adapter, view, position -> + ActivityUtils.startActivityForResult( + this@SendGoodsActivity, + AddressListActivity::class.java, + position + ) } - this - }.submitList(datas) + } + adapter.submitList(datas) } override fun initDate() { } + + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { + super.onActivityResult(requestCode, resultCode, data) + if (resultCode == AppCompatActivity.RESULT_OK) { + data?.extras?.let { + val string = it.getString(AppConfig.BEAN, "") + if (string.isNotEmpty()) { + val addressBean = Gson().fromJson(string, AddressBean::class.java) + datas[requestCode] = addressBean + adapter.notifyItemChanged(requestCode) + } + + } + } + } } \ No newline at end of file diff --git a/app/src/main/res/layout/item_send_goods.xml b/app/src/main/res/layout/item_send_goods.xml index 5aa7572..4bf8924 100644 --- a/app/src/main/res/layout/item_send_goods.xml +++ b/app/src/main/res/layout/item_send_goods.xml @@ -29,19 +29,21 @@ android:orientation="vertical">