lmw
2023-06-13 adf8013576cbdd12e5ebea8ff7e32baf5d558b27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
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")
    }
}