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
package com.kuanzhai.user.dialog
 
import android.os.Bundle
import android.view.Gravity
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.DialogFragment
import cn.sinata.xldutils.activity.BaseActivity
import cn.sinata.xldutils.clickDelay
import cn.sinata.xldutils.utils.myToast
import cn.sinata.xldutils.visible
import com.kuanzhai.user.R
import com.kuanzhai.user.interfaces.StringCallback
import com.kuanzhai.user.network.HttpManager
import com.kuanzhai.user.network.request
import kotlinx.android.synthetic.main.dialog_comment.*
import kotlinx.android.synthetic.main.dialog_seat.*
import org.jetbrains.anko.imageResource
import org.jetbrains.anko.matchParent
import org.jetbrains.anko.wrapContent
 
class CommentDialog : DialogFragment() {
    private val id by lazy { //评论项目id
        arguments?.getLong("id")?:0L
    }
    private val type by lazy { //评论项目类型
        arguments?.getInt("type")?:0
    }
    private val commentId by lazy { //被回复评论id,可为空,为空表示一级评论
        arguments?.getLong("commentId")
    }
    private val replyUserId by lazy { //被回复用户id,可为空,为空表示二级评论,不为空表示回复二级评论
        arguments?.getLong("replyUserId")
    }
 
 
 
    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        return inflater.inflate(R.layout.dialog_comment, container, false)
    }
 
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_FRAME, R.style.Dialog)
    }
 
    override fun onActivityCreated(savedInstanceState: Bundle?) {
        super.onActivityCreated(savedInstanceState)
        dialog?.window?.setLayout(matchParent, wrapContent)
        dialog?.window?.setGravity(Gravity.BOTTOM)
        dialog?.setCanceledOnTouchOutside(true)
    }
 
    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        if (commentId!=null&&commentId!=0L){
            et_content.hint = "回复@${arguments?.getString("name")}"
        }
        iv_close.setOnClickListener { dismissAllowingStateLoss() }
        tv_send.clickDelay {
            val toString = et_content.text.toString()
            if (toString.isEmpty())
                myToast("请输入评论内容")
            else{
                HttpManager.insertComment(id,type,toString,if (commentId == 0L) null else commentId,if (replyUserId == 0L) null else replyUserId).request(requireActivity() as BaseActivity){_,_->
                    myToast("评论成功")
                    dismissAllowingStateLoss()
                    callback?.onRlt("")
                }
            }
        }
    }
 
    private var callback: StringCallback? = null
 
    fun setCallback(callback: StringCallback) {
        this.callback = callback
    }
}