回答編集履歴

1

質問への回答

2018/11/21 04:34

投稿

bobmax
bobmax

スコア133

test CHANGED
@@ -21,3 +21,49 @@
21
21
 
22
22
 
23
23
  実際に試してはいないので出来なかったらコメントしてください。
24
+
25
+
26
+
27
+ **-追記-**
28
+
29
+ コードを記載したかったので本文に追記します。
30
+
31
+ 私が例としてお見せしたサイトはRealmを使っていないため単純にremoveでよいのですが、質問者さんの場合はそうではありません。私が例としてあのサイトをお見せしたのは、
32
+
33
+ ```kotlin
34
+
35
+ viewHolder.deleteicon.setOnClickListener {}
36
+
37
+ ```
38
+
39
+ に削除ボタンを押したときの処理を書けばよいという事を伝えるためです。
40
+
41
+
42
+
43
+ つまり質問者さんの場合は
44
+
45
+ this.remove(listItem)を「Realmからデータを削除する処理」に変える必要があります。
46
+
47
+ 初めにlistItemからRealmObjectを取得してそこからUUIDが取れますといったのはそこで使うためです。回りくどいことを言いましたが単純にKakeiboAdapterでrealmを使えるようにしてあげてviewHolder.deleteicon.setOnClickListener {}に
48
+
49
+ ```kotrin
50
+
51
+ mRealm.executeTransaction {
52
+
53
+ mRealm.where(Kakeibo::class.java)
54
+
55
+ .equalTo("shushiId",listItem?.shushiId)
56
+
57
+ .findAll()
58
+
59
+ .deleteAllFromRealm()
60
+
61
+ }
62
+
63
+ ```
64
+
65
+ を記載すればRealmからレコードを削除することができます。
66
+
67
+ レコードを削除したら例のサイトと同じように notifyDataSetChanged()
68
+
69
+ でListViewを更新すればOKです。