From 718f31c92e2029d05260810435a2c70cef6e6ce5 Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期四, 24 四月 2025 10:45:55 +0800
Subject: [PATCH] save

---
 app/src/main/java/com/sinata/xqmuse/dialog/CommentDialog.kt |   64 ++++++++++++++++++++++---------
 1 files changed, 45 insertions(+), 19 deletions(-)

diff --git a/app/src/main/java/com/sinata/xqmuse/dialog/CommentDialog.kt b/app/src/main/java/com/sinata/xqmuse/dialog/CommentDialog.kt
index ef01e80..5a71ef0 100644
--- a/app/src/main/java/com/sinata/xqmuse/dialog/CommentDialog.kt
+++ b/app/src/main/java/com/sinata/xqmuse/dialog/CommentDialog.kt
@@ -1,5 +1,6 @@
 package com.sinata.xqmuse.dialog
 
+import android.content.DialogInterface
 import android.view.Gravity
 import androidx.recyclerview.widget.LinearLayoutManager
 import cn.sinata.xldutils.activity.BaseActivity
@@ -11,17 +12,18 @@
 import com.sinata.xqmuse.ui.discovery.adapter.CommentAdapter
 import com.sinata.xqmuse.utils.interfaces.StringCallback
 import kotlinx.android.synthetic.main.dialog_comment.*
+import org.jetbrains.anko.support.v4.toast
 
 class CommentDialog:BaseDialogFragment() {
     override fun setContentView() = R.layout.dialog_comment
 
     override fun setGravity() = Gravity.BOTTOM
-
     private val voiceId by lazy { arguments?.getString("id")?:"" }
     private var page = 1
     private val list = arrayListOf<Comment>()
-    private val adapter = CommentAdapter(list)
+    private val adapter by lazy { CommentAdapter(list,requireActivity() as BaseActivity) }
     var callback:StringCallback? = null
+    private var dismissed = false
 
     override fun initView() {
         iv_close.setOnClickListener { dismissAllowingStateLoss() }
@@ -46,6 +48,21 @@
             page++
             getData()
         }
+        tv_action.setOnClickListener {
+            val content = et_content.text.toString()
+            if (content.isNullOrEmpty())
+                toast("请输入内容")
+            else{
+                tv_action.isEnabled = false
+                HttpManager.addQuestion(voiceId,content).request(requireActivity() as BaseActivity,success = {_,_->
+                    et_content.setText("")
+                    tv_action.isEnabled = true
+                    refreshLayout.autoRefresh()
+                }){_,_->
+                    tv_action.isEnabled = true
+                }
+            }
+        }
         getData()
     }
 
@@ -65,24 +82,33 @@
 
     private fun getData(){
         HttpManager.getMeditationQuestionPage(voiceId,page).request(requireActivity() as BaseActivity,success = { _, data->
-            tv_title.text = "${data?.total}条提问"
-            if (page == 1)
-                list.clear()
-            list.addAll(data?.list?: arrayListOf())
-            adapter.notifyDataSetChanged()
-            if (list.isEmpty()){
-                refreshLayout.finishRefreshWithNoMoreData()
-            } else if (data?.list.isNullOrEmpty())
-                refreshLayout.finishLoadMoreWithNoMoreData()
-            else if (page == 1)
-                refreshLayout.finishRefresh()
-            else
-                refreshLayout.finishLoadMore()
+            if (!dismissed){
+                tv_count.text = "${data?.total}条提问"
+                if (page == 1)
+                    list.clear()
+                list.addAll(data?.list?: arrayListOf())
+                adapter.notifyDataSetChanged()
+                if (list.isEmpty()){
+                    refreshLayout.finishRefreshWithNoMoreData()
+                } else if (data?.list.isNullOrEmpty())
+                    refreshLayout.finishLoadMoreWithNoMoreData()
+                else if (page == 1)
+                    refreshLayout.finishRefresh()
+                else
+                    refreshLayout.finishLoadMore()
+            }
         }){_,_->
-            if (page == 1)
-                refreshLayout.finishRefresh(false)
-            else
-                refreshLayout.finishLoadMore(false)
+            if (!dismissed){
+                if (page == 1)
+                    refreshLayout.finishRefresh(false)
+                else
+                    refreshLayout.finishLoadMore(false)
+            }
         }
     }
+
+    override fun onDismiss(dialog: DialogInterface) {
+        super.onDismiss(dialog)
+        dismissed = true
+    }
 }
\ No newline at end of file

--
Gitblit v1.7.1