I'm new in android and I get this error I can't resolve. Is part of the code for a calculator app and I'm stuck on it. It gives me a null pointer exception and I don't had trouble with it before I created the listeners and the view variables.
My code program is this:
package com.example.calculadora
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.text.Editable
import android.widget.Button
import android.widget.EditText
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
detectarEntrada()
}
val button0 = findViewById<Button>(R.id.button0)
val button1 = findViewById<Button>(R.id.button1)
val button2 = findViewById<Button>(R.id.button2)
val button3 = findViewById<Button>(R.id.button3)
val button4 = findViewById<Button>(R.id.button4)
val button5 = findViewById<Button>(R.id.button5)
val button6 = findViewById<Button>(R.id.button6)
val button7 = findViewById<Button>(R.id.button7)
val button8 = findViewById<Button>(R.id.button8)
val button9 = findViewById<Button>(R.id.button9)
val button_equal = findViewById<Button>(R.id.button_equal)
val button_par_ab = findViewById<Button>(R.id.button_par_ab)
val button_par_cl = findViewById<Button>(R.id.button_par_cl)
val button_coma = findViewById<Button>(R.id.button_coma)
val buttonAC = findViewById<Button>(R.id.buttonAC)
val button_mul = findViewById<Button>(R.id.button_por)
val button_div = findViewById<Button>(R.id.button_div)
val button_sum = findViewById<Button>(R.id.button_sum)
val button_dif = findViewById<Button>(R.id.button_dif)
val caja = findViewById<EditText>(R.id.caja_de_texto)
public fun imprimir(simbolo: String) {
var texto = caja.text.toString()
var texto_a_poner = texto + simbolo
caja.text = Editable.Factory.getInstance().newEditable(texto_a_poner)
}
public fun detectarEntrada() {
button0.setOnClickListener { imprimir("0") }
button1.setOnClickListener { imprimir("1") }
button2.setOnClickListener { imprimir("2") }
button3.setOnClickListener { imprimir("3") }
button4.setOnClickListener { imprimir("4") }
button5.setOnClickListener { imprimir("5") }
button6.setOnClickListener { imprimir("6") }
button7.setOnClickListener { imprimir("7") }
button8.setOnClickListener { imprimir("8") }
button9.setOnClickListener { imprimir("9") }
button_par_ab.setOnClickListener { imprimir("(") }
button_par_cl.setOnClickListener { imprimir(")") }
button_coma.setOnClickListener { imprimir(",") }
button_mul.setOnClickListener { imprimir("*") }
button_div.setOnClickListener { imprimir("/") }
button_sum.setOnClickListener { imprimir("+") }
button_dif.setOnClickListener { imprimir("-") }
buttonAC.setOnClickListener {
caja.text = Editable.Factory.getInstance().newEditable("0")
}
}
}
Hope someone could help me
I searched in the web for similar problems and for this error especially. But I don't know how I could fix it.