前提・実現したいこと
Realmにデータを保存して、そこからデータを読み込みたいのですが、読み込んだ際のデータが[user = proxy[{name}:おくえ}]になります。(Toastで表示した際にこのように表示されます。)
[おくえ]のような感じにデータを読み込みたいのですが、どうすればよいでしょうか?
該当のソースコード
MainActivity
1class MainActivity : AppCompatActivity() { 2 3 lateinit var realm : Realm 4 5 override fun onCreate(savedInstanceState: Bundle?) { 6 super.onCreate(savedInstanceState) 7 setContentView(R.layout.activity_main) 8 9 realm = Realm.getDefaultInstance() 10 11 val fabt_add : FloatingActionButton = findViewById(R.id.fabt_add) 12 val fabt_delete : FloatingActionButton = findViewById(R.id.fabt_delete) 13 val lv : ListView = findViewById(R.id.lv) 14 15 val adapter = ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, mutableListOf()) 16 lv.adapter = adapter 17 18 //データの登録 19 fabt_add.setOnClickListener { 20 val name = EditText(this) 21 AlertDialog.Builder(this) 22 .setTitle("名前の追加") 23 .setMessage("名前を追加して下さい") 24 .setView(name) 25 .setPositiveButton("追加",DialogInterface.OnClickListener { _, _ -> 26 realm.beginTransaction() 27 val dbname = realm.createObject(user::class.java) 28 dbname.name = name.text.toString() 29 realm.commitTransaction() 30 adapter.add(name.text.toString()) 31 Toast.makeText(applicationContext,"登録しました",Toast.LENGTH_SHORT).show() 32 }) 33 .setNegativeButton("キャンセル",DialogInterface.OnClickListener { _, _ -> 34 Toast.makeText(applicationContext,"キャンセルしました",Toast.LENGTH_SHORT).show() 35 }).show() 36 } 37 38 //タップした行のデータを更新 39 lv.setOnItemClickListener { _, _, position, id -> 40 val ab = adapter.getItem(id.toInt()) 41 realm.beginTransaction() 42 val a = realm.where(user::class.java).equalTo("name",ab).findAll() 43 realm.commitTransaction() 44 Toast.makeText(applicationContext,"${a}",Toast.LENGTH_SHORT).show() 45 } 46 47 //タップした行のデータを削除 48 lv.setOnItemLongClickListener { _, _, _, id -> 49 AlertDialog.Builder(this) 50 .setTitle("項目の削除") 51 .setMessage("項目を削除しますか?") 52 .setPositiveButton("削除",DialogInterface.OnClickListener { _, _ -> 53 val name_delete_lv = adapter.getItem(id.toInt()) 54 realm.beginTransaction() 55 val name_delete = realm.where(user::class.java).equalTo("name",name_delete_lv).findAll() 56 name_delete.deleteFirstFromRealm() 57 realm.commitTransaction() 58 adapter.remove(adapter.getItem(id.toInt())) 59 Toast.makeText(applicationContext,"削除しました",Toast.LENGTH_SHORT).show() 60 }) 61 .setNegativeButton("キャンセル",DialogInterface.OnClickListener { _, _ -> 62 Toast.makeText(applicationContext,"キャンセルしました",Toast.LENGTH_SHORT).show() 63 }).show() 64 true 65 } 66 67 68 //データの全削除 69 fabt_delete.setOnClickListener { 70 AlertDialog.Builder(this) 71 .setTitle("データの全削除") 72 .setMessage("データを削除しますか?") 73 .setPositiveButton("yes",DialogInterface.OnClickListener { _, _ -> 74 realm.beginTransaction() 75 val name_all_delete = realm.where(user::class.java).findAll() 76 name_all_delete.deleteAllFromRealm() 77 realm.commitTransaction() 78 adapter.remove(adapter.clear().toString()) 79 Toast.makeText(applicationContext,"削除しました", Toast.LENGTH_SHORT).show() 80 }) 81 .setNegativeButton("no",DialogInterface.OnClickListener { _, _ -> 82 Toast.makeText(applicationContext,"キャンセルしました",Toast.LENGTH_SHORT).show() 83 }).show() 84 } 85 } 86}
user
1package com.example.listview_app 2 3import io.realm.RealmObject 4 5open class user : RealmObject(){ 6 var name : String = "" 7}
補足情報(FW/ツールのバージョンなど)
Android Stuido Arctic Fox | 2020.3.1 Patch 1
回答1件
あなたの回答
tips
プレビュー