package com.dollearn.student.dialog
|
|
import android.view.Gravity
|
import com.dollearn.student.R
|
import com.dollearn.student.network.entity.Province
|
import kotlinx.android.synthetic.main.dialog_choose_city.*
|
|
class ChooseCityDialog:BaseDialogFragment() {
|
override fun setContentView() = R.layout.dialog_choose_city
|
|
override fun setGravity() = Gravity.BOTTOM
|
|
private val list by lazy {
|
arguments?.getParcelableArrayList<Province>("list")?: arrayListOf()
|
}
|
|
var callback:CityCallback? = null
|
|
override fun initView() {
|
val province = arrayListOf<String>()
|
province.addAll(list.map { it.name })
|
wv_1.setItems(province)
|
wv_1.setSeletion(0)
|
setCity()
|
|
wv_1.setOnWheelViewListener { selectedIndex, item ->
|
setCity()
|
}
|
|
iv_close.setOnClickListener { dismissAllowingStateLoss() }
|
tv_action.setOnClickListener {
|
callback?.onCitySelected(list[wv_1.seletedIndex].code,list[wv_1.seletedIndex].name,list[wv_1.seletedIndex].children!![wv_2.seletedIndex].code,list[wv_1.seletedIndex].children!![wv_2.seletedIndex].name)
|
dismissAllowingStateLoss()
|
}
|
}
|
|
private fun setCity(){
|
val city = arrayListOf<String>()
|
city.addAll(list[wv_1.seletedIndex].children?.map { it.name }?: arrayListOf())
|
wv_2.setItems(city)
|
wv_2.setSeletion(0)
|
}
|
|
interface CityCallback{
|
fun onCitySelected(pCode:String,pName:String,cCode:String,cName:String)
|
}
|
}
|