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.
 
     
     
     
    