Commit a01649e9 authored by chengkun's avatar chengkun

默认10条,下拉加载更多

parent 62b8e1b2
......@@ -4,6 +4,7 @@ import android.graphics.Typeface
import android.graphics.drawable.Drawable
import androidx.activity.viewModels
import com.scwang.smart.refresh.layout.api.RefreshLayout
import com.scwang.smart.refresh.layout.listener.OnLoadMoreListener
import com.scwang.smart.refresh.layout.listener.OnRefreshListener
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.bcommon.extensions.initTitleBar
......@@ -18,7 +19,7 @@ import com.yidian.xpage.XPageViewProtocol
import timber.log.Timber
class OrderListActivity : BaseMvvmActivity<BorderActivityOrderListBinding, OrderListViewModel>() ,XPageViewProtocol, OnRefreshListener{
class OrderListActivity : BaseMvvmActivity<BorderActivityOrderListBinding, OrderListViewModel>() ,XPageViewProtocol, OnRefreshListener, OnLoadMoreListener{
override val layoutId: Int = R.layout.border_activity_order_list
......@@ -26,6 +27,7 @@ class OrderListActivity : BaseMvvmActivity<BorderActivityOrderListBinding, Order
private lateinit var listAdapter: OrderListAdapter
override fun initView() {
initTitleBar(binding.orderListToolbar, binding.tvTitle, "参与的")
SystemBarUtils.setStatusBarTextColorWhite(this)
......@@ -39,6 +41,12 @@ class OrderListActivity : BaseMvvmActivity<BorderActivityOrderListBinding, Order
binding.rcvOrderList.addItemDecoration(SpaceItemDecoration(spacingInPixels))
vm._orderList.observe(this, {
Timber.tag("OrderListObsver").i(">>>>>>>>>>>>>>>>>>>>>>>>")
if (binding.smartRefresh.isRefreshing) {
binding.smartRefresh.finishRefresh()
}
if (binding.smartRefresh.isLoading) {
binding.smartRefresh.finishLoadMore()
}
listAdapter = OrderListAdapter()
binding.rcvOrderList.adapter = listAdapter
listAdapter.setList(it)
......@@ -46,31 +54,28 @@ class OrderListActivity : BaseMvvmActivity<BorderActivityOrderListBinding, Order
}
private fun initClickEvent() {
binding.smartRefresh.setEnableLoadMore(false)
binding.smartRefresh.setOnRefreshListener(this)
binding.smartRefresh.setOnLoadMoreListener(this)
binding.smartRefresh.autoRefresh()
binding.tvRefunded.setOnClickListener {
vm._listType = OrderListViewModel.REFUND
binding.tvRefunded.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD))
val dra: Drawable? = getDrawable(R.drawable.icon_react_under_text)
dra!!.setBounds(0, 0, dra!!.intrinsicWidth, dra!!.intrinsicHeight)
binding.tvRefunded.setCompoundDrawables(null, null, null, dra)
binding.tvOrderlistAll.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL))
binding.tvOrderlistAll.setCompoundDrawables(null, null, null, null)
var param = HashMap<String, String?>()
param["order_status"] = "5"
param["business_from"] = "2"
vm.requestUserOrder(param)
vm.requestFreshUserOrder(HashMap<String, String?>())
}
binding.tvOrderlistAll.setOnClickListener {
vm._listType = OrderListViewModel.NORMAL
binding.tvRefunded.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL))
binding.tvRefunded.setCompoundDrawables(null, null, null, null)
binding.tvOrderlistAll.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD))
val dra: Drawable? = getDrawable(R.drawable.icon_react_under_text)
dra!!.setBounds(0, 0, dra!!.intrinsicWidth, dra!!.intrinsicHeight)
binding.tvOrderlistAll.setCompoundDrawables(null, null, null, dra)
var param = HashMap<String, String?>()
param["business_from"] = "2"
vm.requestUserOrder(param)
vm.requestFreshUserOrder(HashMap<String, String?>())
}
}
......@@ -83,10 +88,11 @@ class OrderListActivity : BaseMvvmActivity<BorderActivityOrderListBinding, Order
}
override fun onRefresh(refreshLayout: RefreshLayout) {
var param = HashMap<String, String?>()
param["business_from"] = "2"
vm.requestUserOrder(param)
binding.smartRefresh.finishRefresh()
vm.requestFreshUserOrder(HashMap<String, String?>())
}
override fun onLoadMore(refreshLayout: RefreshLayout) {
vm.requestLoadMoreUserOrder(HashMap<String, String?>())
}
}
......@@ -8,14 +8,20 @@ import com.yidian.shenghuoquan.buserorder.http.UserOrderListOperation
import com.yidian.shenghuoquan.buserorder.http.callback.OrderListCallBack
class OrderListViewModel : BaseViewModel(){
companion object {
const val NORMAL = "NORMAL"
const val REFUND = "REFUND"
}
private var orderList:MutableLiveData<List<OrderWebData>> = MutableLiveData<List<OrderWebData>>()
var _orderList:LiveData<List<OrderWebData>> = orderList
fun requestUserOrder(param:HashMap<String, String?>) {
UserOrderListOperation.userOrderList(param, orderListCallBack)
var _listType:String = NORMAL
fun requestFreshUserOrder(param:HashMap<String, String?>) {
UserOrderListOperation.userOrderList(generateRereshParma(param), orderListCallBack)
}
fun requestLoadMoreUserOrder(param:HashMap<String, String?>) {
UserOrderListOperation.userOrderList(generateLoadmoreParma(param), orderListCallBack)
}
private var orderListCallBack = object : OrderListCallBack {
override fun onOrderListCallback(orders: List<OrderWebData>?) {
if (orders != null) {
......@@ -23,4 +29,21 @@ class OrderListViewModel : BaseViewModel(){
}
}
}
private fun generateLoadmoreParma(param:HashMap<String, String?>):HashMap<String, String?> {
param["business_from"] = "2"
if (_listType == REFUND) {
param["order_status"] = "5"
}
param["num"] = "${_orderList.value!!.size + 10}"
return param
}
private fun generateRereshParma(param:HashMap<String, String?>):HashMap<String, String?> {
param["business_from"] = "2"
if (_listType == REFUND) {
param["order_status"] = "5"
}
param["num"] = "10"
return param
}
}
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