package com.kuanzhai.user.ui.mine
|
|
import android.app.Activity
|
import android.content.Intent
|
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.R
|
import com.kuanzhai.user.interfaces.OnDelCallback
|
import com.kuanzhai.user.network.HttpManager
|
import com.kuanzhai.user.network.entity.Coupon
|
import com.kuanzhai.user.network.requestByF
|
import com.kuanzhai.user.dialog.TipDialog
|
import com.kuanzhai.user.ui.mine.adapter.MyCouponAdapter
|
import com.kuanzhai.user.ui.trip.ChooseCouponActivity
|
import kotlinx.android.synthetic.main.fragment_my_coupon.*
|
import org.jetbrains.anko.startActivityForResult
|
import org.jetbrains.anko.support.v4.find
|
import org.jetbrains.anko.support.v4.startActivityForResult
|
|
class CouponFragment : BaseFragment() {
|
|
private val swipeRefreshLayout by lazy {
|
find<SwipeRefreshRecyclerLayout>(R.id.swipeRefreshLayout)
|
}
|
private val datas = arrayListOf<Coupon>()
|
private val adapter by lazy {
|
MyCouponAdapter(datas,object : OnDelCallback {
|
override fun onDel(position: Int) {
|
val tipDialog = TipDialog()
|
tipDialog.arguments = bundleOf("msg" to "是否确认删除该优惠券?")
|
tipDialog.setCallback(object :TipDialog.OnClickCallback{
|
override fun onOk() {
|
HttpManager.delMyCoupon(datas[position].id).requestByF(this@CouponFragment){_,_->
|
refresh()
|
}
|
}
|
|
override fun onCancel() {
|
}
|
})
|
tipDialog.show(fragmentManager!!,"del")
|
}
|
})
|
}
|
private var page = 1
|
override fun contentViewId() = R.layout.fragment_my_coupon
|
|
override fun onFirstVisibleToUser() {
|
swipeRefreshLayout.setLayoutManager(LinearLayoutManager(activity))
|
swipeRefreshLayout.setAdapter(adapter)
|
swipeRefreshLayout.setOnRefreshListener(object :SwipeRefreshRecyclerLayout.OnRefreshListener{
|
override fun onRefresh() {
|
page = 1
|
getData()
|
}
|
|
override fun onLoadMore() {
|
page++
|
getData()
|
}
|
})
|
swipeRefreshLayout.isRefreshing = true
|
getData()
|
rg_type.setOnCheckedChangeListener { group, checkedId ->
|
adapter.type = if (checkedId == R.id.rb_useful) 1 else 2
|
refresh()
|
}
|
tv_send.setOnClickListener {
|
startActivityForResult<ChooseCouponActivity>(1,"isPay" to false)
|
}
|
}
|
|
fun refresh(){
|
swipeRefreshLayout.isRefreshing = true
|
page = 1
|
getData()
|
}
|
|
private fun getData(){
|
HttpManager.queryMyCoupons(page,adapter.type).requestByF(this,success = {_,data->
|
swipeRefreshLayout.isRefreshing = false
|
data?.let {
|
if (page == 1)
|
datas.clear()
|
datas.addAll(it)
|
if (datas.isEmpty())
|
swipeRefreshLayout.setLoadMoreText("暂无优惠券")
|
else if (it.isEmpty())
|
swipeRefreshLayout.setLoadMoreText("没有更多")
|
adapter.notifyDataSetChanged()
|
}
|
},error = {_,_->
|
swipeRefreshLayout.isRefreshing = false
|
})
|
}
|
|
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
super.onActivityResult(requestCode, resultCode, data)
|
if (requestCode == 1&&resultCode == Activity.RESULT_OK){
|
refresh()
|
}
|
}
|
}
|