Search code examples
javaandroidandroid-studiokotlinrealm

How to show Realm Data base results to an edit text?


so I'm new to realm data base and I'm trying to show the data that the user wrote throw an Edit text and show it in a Textview..

My realm class

     import io.realm.RealmObject
    import io.realm.annotations.PrimaryKey
    import io.realm.annotations.RealmClass

@RealmClass

open class GoodStudents : RealmObject(){
    @PrimaryKey
    var id: Long = 0
    var name : String? = null
    var grade : Int? = null


}

Main activity code

Realm.init(this)
    val convig = RealmConfiguration.Builder()
        .name("GoodStudents").build()
    val realm = Realm.getInstance(convig)
    realm.beginTransaction()

    count = realm.where(GoodStudents::class.java).findAll().size

    val goodStudents = realm.createObject(GoodStudents::class.java, count+1)
    goodStudents.name = name.text.toString()
    goodStudents.grade
    realm.commitTransaction()


        val readData = realm.where(GoodStudents::class.java).findAll()

    saveButton.setOnClickListener {
        Toast.makeText(this,"Data is saved", Toast.LENGTH_LONG).show()
        var text = text.text
        readData.forEach { save ->
           save.name = text as String?


        }

    }

P.C. Java code is acceptable..


Solution

  • so I found out that writing this code will work saveButton.setOnClickListener {

            val convig = RealmConfiguration.Builder()
                .name("GoodStudents").build()
            val realm = Realm.getInstance(convig)
            realm.beginTransaction()
    
            count = realm.where(GoodStudents::class.java).findAll().size
            val goodStudents = realm.createObject(GoodStudents::class.java, count+1)
            goodStudents.name = name.text.toString()
            goodStudents.grade = grade.text.toString().toInt()
    
            val readData = realm.where(GoodStudents::class.java).findAll()
    
            readData.forEach { save ->
    
                text.text = ""  + save.name + ": " + goodStudents.grade
    
            }
    
            realm.commitTransaction()
    
        }