Я создаю приложение для тренировки слуха и хочу, чтобы уровни были настраиваемыми.Итак, у меня есть класс с одинаковой функцией для каждого из 12 тонов, поэтому представьте, что setDb, setD, setEb и т. Д.:
class MakeLevel(context: Context) {
fun setC(something: Boolean): Boolean {
var c = something
return c
}
Затем я создаю экземпляр класса в своей основной деятельности (FullscreenActivity):
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_fullscreen)
makeLevel = MakeLevel(this)
}
companion object {
lateinit var makeLevel: MakeLevel
}
Затем во фрагменте, где выбраны уровни, я делаю это:
override fun onResume() {
super.onResume()
majpentlevelbutton.setOnClickListener { view ->
FullscreenActivity.makeLevel.setC(true)
// [same for setD, setE, setG and setA, and false for all the other notes]
view.findNavController().navigate(R.id.action_levelSelectFragment_to_chromaticFragment)
}
}
Теперь возникает моя проблема: я хочу получить доступ к значению c, чтобы определить, звучит ли икнопка для c должна быть загружена или нет, и я не могу найти способ сделать это.Например, я хотел бы использовать это так:
if (c == true) {
c_button.visibility = View.VISIBLE
}
else {
c_button.visibility = View.GONE
}
Я пробовал c
, makeLevel.c
, FullscreenActivity.makeLevel.c
и многие другие.Каждый раз, когда я получаю Unresolved reference
.Поэтому мой вопрос: как мне получить ссылку на var c?