package com.fuban.user.ui.mine
|
|
import android.app.Activity
|
import android.content.Intent
|
import android.view.View
|
import androidx.recyclerview.widget.GridLayoutManager
|
import cn.sinata.xldutils.view.SwipeRefreshRecyclerLayout
|
import com.fuban.user.R
|
import com.fuban.user.network.HttpManager
|
import com.fuban.user.network.entity.Goods
|
import com.fuban.user.network.request
|
import com.fuban.user.ui.TransparentStatusBarActivity
|
import com.fuban.user.ui.mine.adapter.ScoreGoodsAdapter
|
import kotlinx.android.synthetic.main.header_score.view.*
|
import org.jetbrains.anko.*
|
|
class ScoreActivity : TransparentStatusBarActivity() ,SwipeRefreshRecyclerLayout.OnRefreshListener{
|
override fun setContentView() = R.layout.base_recyclerview_layout
|
|
private val mSwipeRefreshLayout by lazy {
|
find<SwipeRefreshRecyclerLayout>(R.id.swipeRefreshLayout)
|
}
|
private val datas = arrayListOf<Goods>()
|
private val adapter = ScoreGoodsAdapter(datas)
|
private val header by lazy {
|
layoutInflater.inflate(R.layout.header_score,mSwipeRefreshLayout,false)
|
}
|
private var score = ""
|
private var page = 1
|
|
override fun initClick() {
|
adapter.setOnItemClickListener { _, position ->
|
startActivityForResult<GoodsDetailActivity>(1,"id" to datas[position].id,"score" to score)
|
}
|
}
|
|
override fun initView() {
|
titleBar.addRightButton("兑换记录",onClickListener = View.OnClickListener {
|
startActivity<RecordActivity>("type" to RecordActivity.TYPE_SCORE)
|
})
|
mSwipeRefreshLayout.backgroundColorResource = R.color.white
|
mSwipeRefreshLayout.setPadding(dip(14),0,dip(14),0)
|
mSwipeRefreshLayout.setLayoutManager(GridLayoutManager(this,2))
|
mSwipeRefreshLayout.setAdapter(adapter)
|
mSwipeRefreshLayout.setOnRefreshListener(this)
|
adapter.setHeaderView(header)
|
score = intent.getStringExtra("score")
|
header.tv_score.text = score
|
getData()
|
}
|
|
private fun getData(){
|
HttpManager.queryGoods(page).request(this,true,{_,data->
|
mSwipeRefreshLayout.isRefreshing = false
|
data?.apply {
|
if (page == 1)
|
datas.clear()
|
datas.addAll(this)
|
if (datas.isEmpty())
|
mSwipeRefreshLayout.setLoadMoreText("暂无数据")
|
else if (data.isEmpty())
|
mSwipeRefreshLayout.setLoadMoreText("没有更多了")
|
adapter.notifyDataSetChanged()
|
}
|
}){_,_->
|
mSwipeRefreshLayout.isRefreshing = false
|
}
|
}
|
|
override fun onRefresh() {
|
page = 1
|
getData()
|
}
|
|
override fun onLoadMore() {
|
page++
|
getData()
|
}
|
|
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
super.onActivityResult(requestCode, resultCode, data)
|
if (resultCode == Activity.RESULT_OK&&data!=null){
|
if (requestCode == 1){
|
score = (score.toInt() - data.getIntExtra("score",0)).toString()
|
header.tv_score.text = score
|
}
|
}
|
}
|
}
|