Reputation: 11
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
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