daffa firmansyah
daffa firmansyah

Reputation: 11

i don't know wher is error my aplication force close

this is a ERROR :

com.example.myapplication.activity_add.onCreate(activity_add.kt:29)

this is Mycode:

package com.example.myapplication

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.Toast
import com.google.firebase.database.DatabaseReference
import com.google.firebase.database.FirebaseDatabase

class activity_add() : AppCompatActivity() {
    private lateinit var Etbarang: EditText
    private lateinit var Etkegiatan: EditText
    private lateinit var Etbagian: EditText
    private lateinit var Btnsimpan: Button
    private lateinit var dbref : DatabaseReference
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_add)

        Etbagian = findViewById(R.id.Etbagian)
        Etkegiatan = findViewById(R.id.Etkegiatan)
        Etbarang = findViewById(R.id.Etbarang)

        dbref = FirebaseDatabase.getInstance().getReference("aktivitas")

        Btnsimpan.setOnClickListener{
            savedata()
        }
    }

    private fun savedata() {
        val bagian = Etbagian.text.toString()
        val keterangan = Etkegiatan.text.toString()
        val barang = Etbarang.text.toString()

        if (barang.isEmpty()){
            Etbarang.error = "masukan nama barang"
            return
        }
        if (bagian.isEmpty()){
            Etbagian.error = "masukan nama bagian"
            return
        }
        if (keterangan.isEmpty()){
            Etkegiatan.error = "Masukan kegiatan"
            return
        }
        val empid = dbref.push().key!!
        val add = add_kegiatan(empid,bagian,barang,keterangan)

        dbref.child(empid).setValue(add).addOnCompleteListener{
            Toast.makeText(this, "Data Berhasil di tambahkan", Toast.LENGTH_SHORT).show()
        }.addOnFailureListener{ err->
            Toast.makeText(this,"error", Toast.LENGTH_SHORT).show()
        }
    }
}

i try to make add form for firebase that my coding when i run it the application closed automatically and i got this error at logcat

Caused by: kotlin.UninitializedPropertyAccessException: lateinit property Btnsimpan has not been initialized >at com.example.myapplication.activity_add.onCreate(activity_add.kt:29)

my application get close when i open the activity contain this code an the error say it at line 30

Upvotes: 0

Views: 45

Answers (1)

Mohamad Rostami
Mohamad Rostami

Reputation: 420

you defined the property Btnsimpan as lateinint and you are trying to use it with the on-click listener but you haven't initiated it yet. just do something like this before the click event

Btnsimpan = findViewById(R.id.Btnsimpan)

of course you need to create a view with this id first

Upvotes: 1

Related Questions