【问题标题】:Multiple Date Picker Android Kotlin多日期选择器 Android Kotlin
【发布时间】:2021-04-08 05:36:50
【问题描述】:

我是一名初学者,开始学习 android kotlin 中的日期选择器,我的日期选择器运行良好。但我需要在我的项目中制作多个日期选择器,我不知道该怎么做。

MainActivity.kt

class MainActivity : AppCompatActivity(), DatePickerDialog.OnDateSetListener {

var day = 0
var month = 0
var year = 0

var savedDay = 0
var savedMonth = 0
var savedYear = 0

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    pickDate()
}

private fun getDateTimeCalender() {
    val cal = Calendar.getInstance()
    day = cal.get(Calendar.DAY_OF_MONTH)
    month = cal.get(Calendar.MONTH)
    year = cal.get(Calendar.YEAR)
}

private fun pickDate() {
    pickButton.setOnClickListener {
        getDateTimeCalender()

        DatePickerDialog(this,this,year,month,day).show()
    }
}

override fun onDateSet(view: DatePicker?, year: Int, month: Int, dayOfMonth: Int) {
    savedDay = dayOfMonth
    savedMonth = month + 1
    savedYear = year

    txtDate.text = "$savedDay-$savedMonth-$savedYear"
}
}

请帮助我如何在 kotlin 中使用单独的 DatePickerDialog 制作多个日期选择器。还是谢谢。

【问题讨论】:

  • 请提供更详细的问题,您尝试过的解决方案以及遇到的困难。
  • 我已经编辑了我的问题。我的问题是如何使用 DatePickerDialog 拥有多个日期选择器
  • 你的意思是同时显示多个对话框,还是多个datePickers可以容纳不同的日期?
  • 我的意思是,我需要在同一活动中使用 2 个文本视图创建一个签入日期和另一个签出日期,因此当我们单击文本视图时,我们可以选择日期

标签: android kotlin datepicker


【解决方案1】:

试试这个

class MainActivity : AppCompatActivity() {

var DefaultDay = 0
var DefaultMonth = 0
var DefaultYear = 0

var checkedInDay = 0
var checkedInMonth = 0
var checkedInYear = 0

var checkedOutDay = 0
var checkedOutMonth = 0
var checkedOutYear = 0

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    setOnClick()
}

private fun getDateTimeCalender() {
    val cal = Calendar.getInstance()
    DefaultDay = cal.get(Calendar.DAY_OF_MONTH)
    DefaultMonth = cal.get(Calendar.MONTH)
    DefaultYear = cal.get(Calendar.YEAR)
}

private fun setOnClick(){
    textViewCheckIn.setOnClickListener{
        getDateTimeCalender()
        DatePickerDialog(this,checkInDatePicker,year,month,day).show()
}
    textViewCheckOut.setOnClickListener{
        getDateTimeCalender()
        DatePickerDialog(this,checkOutDatePicker,year,month,day).show()

}
}

 val checkInDatePicker = object: DatePickerDialog.OnDateSetListener{
        override fun onDateSet(view: DatePicker?, year: Int, month: Int, dayOfMonth: Int) {
    checkedInDay = dayOfMonth
    checkedInMonth = month + 1
    checkedInYear = year
    textViewCheckIn.text = "$checkedInDay-$checkedInMonth-$checkedInYear"
        }
    }
val checkOutDatePicker = object: DatePickerDialog.OnDateSetListener{
        override fun onDateSet(view: DatePicker?, year: Int, month: Int, dayOfMonth: Int) {
    checkedOutDay = dayOfMonth
    checkedOutMonth = month + 1
    checkedOutYear = year
    textViewCheckOut.text = "$checkedOutDay-$checkedOutMonth-$checkedOutYear"
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-23
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多