package com.kuanzhai.user.ui.trip
|
|
import androidx.core.os.bundleOf
|
import androidx.recyclerview.widget.LinearLayoutManager
|
import cn.sinata.xldutils.fragment.BaseFragment
|
import cn.sinata.xldutils.view.SwipeRefreshRecyclerLayout
|
import com.kuanzhai.user.KuanzhaiApplication
|
import com.kuanzhai.user.R
|
import com.kuanzhai.user.dialog.CardDetailDialog
|
import com.kuanzhai.user.network.HttpManager
|
import com.kuanzhai.user.network.entity.Card
|
import com.kuanzhai.user.network.requestByF
|
import com.kuanzhai.user.ui.trip.adapter.BuyCardAdapter
|
import com.kuanzhai.user.utils.Const
|
import org.jetbrains.anko.support.v4.find
|
|
class BuyCardFragment :BaseFragment() {
|
override fun contentViewId() = R.layout.base_recyclerview_layout
|
private val type by lazy {
|
arguments?.getInt("type", Const.OrderType.TYPE_TAXI)?: Const.OrderType.TYPE_TAXI
|
}
|
private val lvList by lazy {
|
find(R.id.swipeRefreshLayout) as SwipeRefreshRecyclerLayout
|
}
|
private val datas = arrayListOf<Card>()
|
private val adapter by lazy { BuyCardAdapter(datas,type) }
|
private var page = 1
|
override fun onFirstVisibleToUser() {
|
lvList.setLayoutManager(LinearLayoutManager(activity))
|
lvList.setAdapter(adapter)
|
lvList.setOnRefreshListener(object :SwipeRefreshRecyclerLayout.OnRefreshListener{
|
override fun onRefresh() {
|
page = 1
|
getData()
|
}
|
|
override fun onLoadMore() {
|
page ++
|
getData()
|
}
|
})
|
lvList.setMode(SwipeRefreshRecyclerLayout.Mode.Top)
|
lvList.isRefreshing = true
|
getData()
|
adapter.setOnItemClickListener { _, position ->
|
val cardDetailDialog = CardDetailDialog()
|
cardDetailDialog.arguments = bundleOf("data" to datas[position],"type" to type)
|
cardDetailDialog.setCallback(object :CardDetailDialog.Callback{
|
override fun onOk(way: Int, couponId: Int) {
|
page = 1
|
getData()
|
}
|
})
|
cardDetailDialog.show(childFragmentManager,"card")
|
}
|
}
|
|
private fun getData(){
|
HttpManager.getTaxiCardList(KuanzhaiApplication.lat,KuanzhaiApplication.lon,type).requestByF(this,success = { _, data->
|
lvList.isRefreshing = false
|
if (page == 1)
|
datas.clear()
|
data?.let {
|
datas.addAll(it)
|
if (datas.isEmpty())
|
lvList.setLoadMoreText("暂无数据")
|
else if (it.isEmpty())
|
lvList.setLoadMoreText("没有更多")
|
}
|
adapter.notifyDataSetChanged()
|
},error = {_,_->
|
lvList.isRefreshing = false
|
})
|
}
|
|
companion object{
|
fun newInstance(type:Int):BuyCardFragment{
|
val fragment = BuyCardFragment()
|
fragment.arguments = bundleOf("type" to type)
|
return fragment
|
}
|
}
|
}
|