package com.igo.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 androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.RecyclerView
|
import cn.sinata.xldutils.activity.BaseActivity
|
import cn.sinata.xldutils.utils.myToast
|
import com.igo.user.R
|
import com.igo.user.interfaces.StringCallback
|
import com.igo.user.network.HttpManager
|
import com.igo.user.network.entity.MyBankCard
|
import com.igo.user.network.request
|
import com.igo.user.ui.mine.adapter.SimpleBankCardAdapter
|
import org.jetbrains.anko.matchParent
|
import org.jetbrains.anko.support.v4.find
|
import org.jetbrains.anko.wrapContent
|
|
class ChooseCardDialog : DialogFragment() {
|
override fun onCreateView(
|
inflater: LayoutInflater,
|
container: ViewGroup?,
|
savedInstanceState: Bundle?
|
): View? {
|
return inflater.inflate(R.layout.dialog_list, container, false)
|
}
|
|
private val list = arrayListOf<MyBankCard>()
|
private val adapter = SimpleBankCardAdapter(list)
|
private val rv_card by lazy { find<RecyclerView>(R.id.rv_card) }
|
|
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)
|
rv_card.layoutManager = LinearLayoutManager(requireContext())
|
rv_card.adapter = adapter
|
getData()
|
adapter.setOnItemClickListener { view, position ->
|
callback?.onRlt(list[position].id)
|
dismissAllowingStateLoss()
|
}
|
}
|
|
private fun getData(){
|
HttpManager.getBindCardList().request(requireActivity() as BaseActivity,success = { _, data->
|
if (data.isNullOrEmpty()){
|
myToast(getString(R.string.请先绑定银行卡))
|
dismissAllowingStateLoss()
|
}else{
|
list.clear()
|
list.addAll(data?: arrayListOf())
|
adapter.notifyDataSetChanged()
|
}
|
})
|
}
|
|
private var callback: StringCallback? = null
|
|
fun setCallback(callback: StringCallback) {
|
this.callback = callback
|
}
|
}
|