Я пытаюсь сослаться на свои константы val
внутри override fun onBackPressed()
, но они в моем методе onCreate()
, и когда я перемещаю их вне метода onCreate()
, я получаю ошибку инициализатора.
Ни одна из этих работ, это то, что я пробовал:
My ExamActivity:
class ExamActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_exam)
val popUpView = this.LinearLayoutPopUp
val menuView = this.LinearLayoutMenu
val resultView = this.LinearLayoutResult
val blurView = this.blurView
}
override fun onBackPressed() {
blurView.visibility = VISIBLE
popUpView.visibility = VISIBLE
view.visibility = VISIBLE
}
}
Я также переместил свои константы за пределы моего метода onCreate()
, и я получил ошибку
class ExamActivity : AppCompatActivity() {
val popUpView = this.LinearLayoutPopUp
val menuView = this.LinearLayoutMenu
val resultView = this.LinearLayoutResult
val blurView = this.blurView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_exam)
}
override fun onBackPressed() {
blurView.visibility = VISIBLE
popUpView.visibility = VISIBLE
view.visibility = VISIBLE
}
}
и, поскольку он val
, я не могу объявить их вне onCreate()`` as
null`` и затем установить его в onCreate()
:
class ExamActivity : AppCompatActivity() {
val popUpView: LinearLayout? = null
val menuView: LinearLayout? = null
val resultView: LinearLayout? = null
val blurView: View? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_exam)
popUpView = this.LinearLayoutPopUp
menuView = this.LinearLayoutMenu
resultView = this.LinearLayoutResult
blurView = this.blurView
}
override fun onBackPressed() {
blurView.visibility = VISIBLE
popUpView.visibility = VISIBLE
view.visibility = VISIBLE
}
}
Как мнеустановить, где я могу получить доступ к своим val
константам в методе override fun onBackPressed()
?