我正在创建一个应用,希望在不同的月份保存一些数据。我要确保当您按下按钮时,一个月正在变化,如果一个月高于12月或低于1月,则该年正在变化。我只有一个月在变化,而涉及到变化年份,则有点问题,一年从2019年更改为2020年,但月份更改为2020年1月,而我不能更改为2020年2月。 这是一个代码,如果我不清楚,请问我
//initialize calendar
val calendar = Calendar.getInstance()
//set month counter
var monthInt:Int
// check if the intent from pressing button, has any extras, if don't set monthInt to 0
if(!intent.hasExtra("monthInt")) {
monthInt = 0
}else{
monthInt = Integer.parseInt(intent.getStringExtra("monthInt").toString())
}
//get date, set title with date
var year = calendar.get(Calendar.YEAR)
var month = calendar.get(Calendar.MONTH)
//add to month 1 to make it range from 1 to 12
month += 1
// add month counter
month += monthInt
//check if month is greater than 12 or lower than 1 than change year
if(month > 12){
month = 1
year += 1
}else if(month < 1){
month = 12
year += -1
}
//get buttons views
var prevButton = findViewById<Button>(R.id.prevButton)
var nextButton = findViewById<Button>(R.id.nextButton)
//set listeners to change month
prevButton.setOnClickListener{
monthInt -= 1
intent.putExtra("monthInt", (monthInt).toString())
finish()
startActivity(intent)
}
nextButton.setOnClickListener{
monthInt += 1
intent.putExtra("monthInt", monthInt.toString())
finish()
startActivity(intent)
}
答案 0 :(得分:0)
每次创建活动时
val calendar = Calendar.getInstance()
..
var year = calendar.get(Calendar.YEAR)
var month = calendar.get(Calendar.MONTH)
将会被调用,这似乎是一个问题