package com.igo.user.ui.mine import android.app.Activity import android.content.Intent import android.view.View import android.widget.TextView import androidx.recyclerview.widget.GridLayoutManager import cn.sinata.xldutils.view.SwipeRefreshRecyclerLayout import com.igo.user.R import com.igo.user.network.HttpManager import com.igo.user.network.entity.Goods import com.igo.user.network.request import com.igo.user.ui.TransparentStatusBarActivity import com.igo.user.ui.mine.adapter.ScoreGoodsAdapter import org.jetbrains.anko.backgroundColorResource import org.jetbrains.anko.dip import org.jetbrains.anko.find import org.jetbrains.anko.startActivity import org.jetbrains.anko.startActivityForResult class ScoreActivity : TransparentStatusBarActivity() ,SwipeRefreshRecyclerLayout.OnRefreshListener{ override fun setContentView() = cn.sinata.xldutils.R.layout.base_recyclerview_layout private val mSwipeRefreshLayout by lazy { find(R.id.swipeRefreshLayout) } private val datas = arrayListOf() private val adapter = ScoreGoodsAdapter(datas) private val header by lazy { layoutInflater.inflate(R.layout.header_score,mSwipeRefreshLayout,false) } private val tv_score by lazy { header.find(R.id.tv_score) } private var score = "" private var page = 1 override fun initClick() { adapter.setOnItemClickListener { _, position -> startActivityForResult(1,"id" to datas[position].id,"score" to score) } } override fun initView() { title = getString(R.string.我的积分) titleBar.addRightButton(getString(R.string.兑换记录换行),onClickListener = View.OnClickListener { startActivity("type" to RecordActivity.TYPE_SCORE) }) mSwipeRefreshLayout.backgroundColorResource = cn.sinata.xldutils.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")?:"" 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(getString(R.string.暂无数据)) else if (data.isEmpty()) mSwipeRefreshLayout.setLoadMoreText(getString(R.string.没有更多)) 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() tv_score.text = score } } } }