package com.fuban.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 com.fuban.user.R
|
import kotlinx.android.synthetic.main.dialog_passenger_num.*
|
import org.jetbrains.anko.matchParent
|
import org.jetbrains.anko.wrapContent
|
|
class PassengerCountDialog : DialogFragment() {
|
private val list = arrayListOf<String>() //数据源
|
private val max by lazy { //最大座位数
|
arguments?.getInt("max",6)?:6
|
}
|
|
override fun onCreateView(
|
inflater: LayoutInflater,
|
container: ViewGroup?,
|
savedInstanceState: Bundle?
|
): View? {
|
return inflater.inflate(R.layout.dialog_passenger_num, 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)
|
|
list.addAll(arrayListOf("一人","两人","三人","四人","五人","六人","七人","八人").subList(0,max))
|
wv_1.setItems(list)
|
wv_1.setSeletion(0)
|
|
tv_cancel.setOnClickListener {
|
dismiss()
|
}
|
tv_action.setOnClickListener {
|
callback?.onOk(wv_1.seletedIndex+1)
|
dismiss()
|
}
|
}
|
|
interface Callback {
|
fun onOk(num: Int)
|
}
|
|
private var callback: Callback? = null
|
|
fun setCallback(callback: Callback) {
|
this.callback = callback
|
}
|
}
|