Commit a01649e9 authored by chengkun's avatar chengkun

默认10条,下拉加载更多

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