package com.dollearn.student.ui.worldcup
|
|
import androidx.core.os.bundleOf
|
import androidx.recyclerview.widget.LinearLayoutManager
|
import cn.sinata.xldutils.fragment.BaseFragment
|
import com.dollearn.student.R
|
import com.dollearn.student.network.HttpManager
|
import com.dollearn.student.network.entity.WorldCupBean
|
import com.dollearn.student.network.requestByF
|
import com.dollearn.student.ui.worldcup.adapter.WorldCupAdapter
|
import com.dollearn.student.utils.Const
|
import com.dollearn.student.utils.event.EmptyEvent
|
import kotlinx.android.synthetic.main.layout_common_list.*
|
import org.greenrobot.eventbus.EventBus
|
import org.greenrobot.eventbus.Subscribe
|
import org.jetbrains.anko.support.v4.startActivity
|
|
class MyWorldFragment : BaseFragment() {
|
override fun contentViewId() = R.layout.layout_common_list
|
private val type by lazy {
|
arguments?.getInt("type", TYPE_UN_START) ?: TYPE_UN_START
|
}
|
private var page = 1
|
private val list = arrayListOf<WorldCupBean>()
|
private val adapter = WorldCupAdapter(list,true)
|
|
override fun onFirstVisibleToUser() {
|
EventBus.getDefault().register(this)
|
rv_list.layoutManager = LinearLayoutManager(requireContext())
|
rv_list.adapter = adapter
|
adapter.setOnItemClickListener { view, position ->
|
startActivity<MyWorldInfoActivity>("id" to list[position].id)
|
}
|
refreshLayout.setOnRefreshListener {
|
page = 1
|
getData()
|
}
|
refreshLayout.setOnLoadMoreListener {
|
page++
|
getData()
|
}
|
getData()
|
}
|
|
fun refresh() {
|
refreshLayout.autoRefresh()
|
}
|
|
private fun getData() {
|
val myWorldActivity = requireActivity() as MyWorldActivity
|
HttpManager.getMyWorldCupList(myWorldActivity.stu?.id?:"",myWorldActivity.stu?.isStudent?:0,type,page)
|
.requestByF(this, success = { _, data ->
|
if (page == 1)
|
list.clear()
|
list.addAll(data ?: arrayListOf())
|
adapter.notifyDataSetChanged()
|
if (list.isEmpty())
|
refreshLayout.finishRefreshWithNoMoreData()
|
else if (data.isNullOrEmpty())
|
refreshLayout.finishLoadMoreWithNoMoreData()
|
else if (page == 1)
|
refreshLayout.finishRefresh()
|
else
|
refreshLayout.finishLoadMore()
|
}) { _, _ ->
|
if (page == 1)
|
refreshLayout.finishRefresh(false)
|
else
|
refreshLayout.finishLoadMore(false)
|
page--
|
}
|
}
|
|
@Subscribe
|
fun refreshList(e:EmptyEvent){
|
}
|
|
override fun onDestroy() {
|
super.onDestroy()
|
EventBus.getDefault().unregister(this)
|
}
|
|
companion object {
|
//1=未开始 2=进行中
|
const val TYPE_UN_START = 1
|
const val TYPE_DOING = 2
|
fun newInstance(type: Int): MyWorldFragment {
|
val reserveRecordFragment = MyWorldFragment()
|
reserveRecordFragment.arguments = bundleOf("type" to type)
|
return reserveRecordFragment
|
}
|
}
|
}
|