lmw
2025-01-10 601f14db94013373df700e007095f7f2f5ecbe24
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
@@ -17,12 +18,12 @@
    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 by lazy { CommentAdapter(list,requireActivity() as BaseActivity) }
    var callback:StringCallback? = null
    private var dismissed = false
    override fun initView() {
        iv_close.setOnClickListener { dismissAllowingStateLoss() }
@@ -81,24 +82,33 @@
    private fun getData(){
        HttpManager.getMeditationQuestionPage(voiceId,page).request(requireActivity() as BaseActivity,success = { _, data->
            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 (!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
    }
}