普通装货地址选择功能

This commit is contained in:
lijia 2024-10-31 17:18:30 +08:00
parent 56c784466c
commit 6c965eb521
7 changed files with 110 additions and 45 deletions

View File

@ -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<WayBillBean, QuickViewHolder>() {
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<AddressBean, QuickViewHolder>() {
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(

View File

@ -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("", "")
}

View File

@ -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<ActivityAddressEditBinding>(),
}
var datas = mutableListOf<WayBillBean>(
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<WayBillBean>(
// 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))

View File

@ -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<ActivityAddressListBinding>(),
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 ->

View File

@ -72,7 +72,8 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(), RefreshCallBack {
}
binding.ivMul.setOnClickListener {
ActivityUtils.startActivity(mContext, SendGoodsActivity::class.java)
showToast("开发中,敬请期待")
// ActivityUtils.startActivity(mContext, SendGoodsActivity::class.java)
}
initData()

View File

@ -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<ActivitySendGoodsBinding>() {
private lateinit var datas: MutableList<AddressBean>
private lateinit var adapter: SendGoodsAdapter
override fun initView(savedInstanceState: Bundle?) {
setStatusBarColor(R.color.white)
setTitleBar("普通装货", true)
@ -34,9 +44,10 @@ class SendGoodsActivity : BaseActivity<ActivitySendGoodsBinding>() {
}
var datas = mutableListOf<WayBillBean>(
WayBillBean(),
WayBillBean()
datas = mutableListOf<AddressBean>(
AddressBean(),
AddressBean()
)
binding.llGoods.setOnClickListener {
@ -48,11 +59,11 @@ class SendGoodsActivity : BaseActivity<ActivitySendGoodsBinding>() {
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<ActivitySendGoodsBinding>() {
)
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<AddressBean>(string, AddressBean::class.java)
datas[requestCode] = addressBean
adapter.notifyItemChanged(requestCode)
}
}
}
}
}

View File

@ -29,19 +29,21 @@
android:orientation="vertical">
<TextView
android:id="@+id/tvAddress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="2"
android:text="河南省郑州市金水区农业路经 三路东南角银丰商务A座"
android:maxLines="1"
android:hint="请选择详细地址"
android:textColor="@color/black"
android:textSize="@dimen/sp_16" />
<TextView
android:id="@+id/tvPerson"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_4"
android:maxLines="2"
android:text="刘静 15424412450"
android:maxLines="1"
android:hint="联系人 联系人手机号"
android:textColor="@color/color_9"
android:textSize="@dimen/sp_14" />
</LinearLayout>