package com.kuanzhai.user.ui.mine
|
|
import androidx.core.os.bundleOf
|
import androidx.recyclerview.widget.LinearLayoutManager
|
import cn.sinata.xldutils.fragment.BaseFragment
|
import cn.sinata.xldutils.utils.myToast
|
import cn.sinata.xldutils.view.SwipeRefreshRecyclerLayout
|
import com.kuanzhai.user.R
|
import com.kuanzhai.user.dialog.TipDialog
|
import com.kuanzhai.user.interfaces.StringCallback
|
import com.kuanzhai.user.network.HttpManager
|
import com.kuanzhai.user.network.entity.CommentBean
|
import com.kuanzhai.user.network.requestByF
|
import com.kuanzhai.user.ui.menu.CarDetailActivity
|
import com.kuanzhai.user.ui.menu.JobDetailActivity
|
import com.kuanzhai.user.ui.menu.RentCarDetailActivity
|
import com.kuanzhai.user.ui.mine.adapter.MyCommentAdapter
|
import org.jetbrains.anko.support.v4.find
|
import org.jetbrains.anko.support.v4.startActivity
|
|
class MyCommentFragment : BaseFragment(), StringCallback {
|
override fun contentViewId() = R.layout.base_recyclerview_layout
|
|
private val isReply by lazy { arguments?.getBoolean("isReply")?:true }
|
private val swipeRefreshLayout by lazy { find<SwipeRefreshRecyclerLayout>(R.id.swipeRefreshLayout) }
|
private var page = 1
|
private val list = arrayListOf<CommentBean>()
|
private val adapter by lazy { MyCommentAdapter(list,isReply,this) }
|
|
override fun onFirstVisibleToUser() {
|
swipeRefreshLayout.setLayoutManager(LinearLayoutManager(requireContext()))
|
swipeRefreshLayout.setAdapter(adapter)
|
swipeRefreshLayout.setOnRefreshListener(object :SwipeRefreshRecyclerLayout.OnRefreshListener{
|
override fun onRefresh() {
|
page = 1
|
getData()
|
}
|
|
override fun onLoadMore() {
|
page++
|
getData()
|
}
|
})
|
adapter.setOnItemClickListener { view, position ->
|
val commentBean = list[position]
|
val commentId = if (isReply) commentBean.commentId.toLong() else commentBean.id
|
when(commentBean.type){//类型(1=租车,2=卖车,3=招聘)
|
1->{
|
startActivity<RentCarDetailActivity>("id" to commentBean.orderId,"commentId" to commentId,"isReply" to isReply)
|
}
|
2->{
|
startActivity<CarDetailActivity>("id" to commentBean.orderId,"commentId" to commentId,"isReply" to isReply)
|
}
|
3->{
|
startActivity<JobDetailActivity>("id" to commentBean.orderId,"commentId" to commentId,"isReply" to isReply)
|
}
|
}
|
}
|
getData()
|
}
|
|
private fun getData(){
|
HttpManager.getMyCommentList(page,isReply).requestByF(this,success = {_,data->
|
swipeRefreshLayout.isRefreshing = false
|
if (page == 1)
|
list.clear()
|
list.addAll(data?: emptyList())
|
adapter.notifyDataSetChanged()
|
}){_,_->
|
swipeRefreshLayout.isRefreshing = false
|
}
|
}
|
|
companion object{
|
fun newInstance(isReply:Boolean):MyCommentFragment{
|
val myCommentFragment = MyCommentFragment()
|
myCommentFragment.arguments = bundleOf("isReply" to isReply)
|
return myCommentFragment
|
}
|
}
|
|
override fun onRlt(rlt: String) {
|
val tipDialog = TipDialog()
|
tipDialog.arguments = bundleOf("msg" to "删除后数据将不会恢复,确认删除?","ok" to "确认","cancel" to "取消")
|
tipDialog.setCallback(object : TipDialog.OnClickCallback{
|
override fun onOk() {
|
HttpManager.deleteComment(list[rlt.toInt()].id).requestByF(this@MyCommentFragment){ _, _->
|
myToast("删除成功")
|
list.removeAt(rlt.toInt())
|
adapter.notifyDataSetChanged()
|
}
|
}
|
|
override fun onCancel() {
|
}
|
})
|
tipDialog.show(childFragmentManager,"del")
|
}
|
}
|