package com.dollearn.student.dialog
|
|
import android.view.Gravity
|
import androidx.core.os.bundleOf
|
import androidx.fragment.app.FragmentManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
import cn.sinata.xldutils.gone
|
import cn.sinata.xldutils.utils.SpanBuilder
|
import cn.sinata.xldutils.utils.myToast
|
import cn.sinata.xldutils.utils.showAllowingStateLoss
|
import com.dollearn.student.R
|
import com.dollearn.student.network.entity.PayCourse
|
import com.dollearn.student.ui.home.adapter.CoursePayAdapter
|
import com.dollearn.student.utils.interfaces.StringCallback
|
import kotlinx.android.synthetic.main.dialog_pay_by_course.*
|
import org.jetbrains.anko.support.v4.toast
|
|
class CoursePayDialog: BaseDialogFragment() {
|
override fun setContentView() = R.layout.dialog_pay_by_course
|
|
private val course by lazy {//课时
|
arguments?.getInt("course",0)?:0
|
}
|
private val list by lazy {//可用课时
|
arguments?.getParcelableArrayList<PayCourse>("list")?: arrayListOf()
|
}
|
private val adapter by lazy {
|
CoursePayAdapter(list,course)
|
}
|
|
var callback:StringCallback? = null
|
|
override fun setGravity() = Gravity.BOTTOM
|
|
override fun initView() {
|
tv_count.text = "所需课时数:${course}"
|
rv_course.layoutManager = LinearLayoutManager(requireContext())
|
rv_course.adapter = adapter
|
tv_cancel.setOnClickListener {
|
dismissAllowingStateLoss()
|
}
|
tv_pay.setOnClickListener {
|
if (adapter.checked == -1)
|
myToast("请选择课时")
|
else
|
callback?.onResult(list[adapter.checked].id.toString())
|
}
|
}
|
|
companion object{
|
|
fun show(fm:FragmentManager,callback:StringCallback,course:Int,courseList:ArrayList<PayCourse>){
|
val payDialog = CoursePayDialog()
|
payDialog.arguments = bundleOf("course" to course,"list" to courseList)
|
payDialog.callback = callback
|
payDialog.showAllowingStateLoss(fm,"coursePay")
|
}
|
}
|
|
}
|