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 android.widget.TextView import androidx.fragment.app.DialogFragment import cn.sinata.xldutils.view.WheelView import com.igo.user.R import org.jetbrains.anko.matchParent import org.jetbrains.anko.support.v4.find import org.jetbrains.anko.wrapContent class PassengerCountDialog : DialogFragment() { private val list = arrayListOf() //数据源 private val max by lazy { //最大座位数 arguments?.getInt("max",6)?:6 } private val wv_1 by lazy { find(R.id.wv_1) } private val tv_cancel by lazy { find(R.id.tv_cancel) } private val tv_action by lazy { find(R.id.tv_action) } 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, cn.sinata.xldutils.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 } }