我正在做一个小型测验游戏,我不想在每个活动中都为按钮做每个功能,因为不要重复自己。但是,当我启动我的应用程序时,它崩溃并出现空指针异常。
我在底部尝试了解决方案,并在ButtonManager类中创建了一个函数,在该类中,我有一个String作为构造函数参数,并在上述函数中对其进行了转换。
这是我的ButtonManager类的样子:
class ButtonManager(buttonName: Int) : AppCompatActivity() {
val button: Button = findViewById(buttonName)
fun quitGame(){
finish()
}
}
这就是我的活动中的函数调用:
ButtonManager(R.id.quitGameButton).button.setOnClickListener {
ButtonManager(R.id.quitGameButton).quitGame()
}
这是错误代码:
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Window$Callback android.view.Window.getCallback()' on a null object reference
答案 0 :(得分:0)
好像您缺少android的一些基本概念。
我假设您只是想在按钮上添加一个Clicklistener。在这种情况下,您根本不需要按钮管理器类。
在“活动”中,您只需添加:
class MyActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?){
setContentView(R.layout.your_layout) // xml layout with a Button with android:I'd=" @+I'd/quitGameButton"
val button: Button = findViewById(R.id.quitGameButton)
button.onClickListener{
finish()
}
}
}