質問編集履歴

6

エラー追記

2020/03/12 11:41

投稿

kbayashi
kbayashi

スコア18

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,17 @@
2
2
 
3
3
  タスクの完了・未完了を切り替えるためにswitchビューを使って処理しているのですが、同じセルのswitchビューを2回切り替えると、アプリが強制終了してしまいます。Adapter内のrealm.executeTransaction内で二回目に、flgを更新する時にアプリが強制終了していますが、解決方法がわかりません。どなたか助言を頂けないでしょうか。
4
4
 
5
- E/.example.mytas: Unknown bits set in runtime_flags: 0x8000とエラーが有りました。
5
+ ##発生してエラーメッセージ
6
+
7
+ 2020-03-12 20:27:59.431 8936-8936/? E/.example.mytas: Unknown bits set in runtime_flags: 0x8000
8
+
9
+ 2020-03-12 20:28:08.039 8936-8936/com.example.mytask A/.example.mytas: java_vm_ext.cc:570] JNI DETECTED ERROR IN APPLICATION: JNI NewLocalRef called with pending exception java.lang.IllegalStateException: Cannot call this method while RecyclerView is computing a layout or scrolling androidx.recyclerview.widget.RecyclerView{ea9d690 VFED..... ......ID 0,909-1080,1584 #7f080108 app:id/task_list}, adapter:com.example.mytask.TaskAdapter@1106b89, layout:androidx.recyclerview.widget.LinearLayoutManager@9b7b78e, context:com.example.mytask.MainActivity@3b61e53
10
+
11
+ 2020-03-12 20:28:08.039 8936-8936/com.example.mytask A/.example.mytas: java_vm_ext.cc:570] at void androidx.recyclerview.widget.RecyclerView.assertNotInLayoutOrScroll(java.lang.String) (RecyclerView.java:3051)
12
+
13
+ 2020-03-12 20:28:08.039 8936-8936/com.example.mytask A/.example.mytas: java_vm_ext.cc:570] at void androidx.recyclerview.widget.RecyclerView$RecyclerViewDataObserver.onItemRangeChanged(int, int, java.lang.Object) (RecyclerView.java:5547)
14
+
15
+ 2020-03-12 20:28:08.039 8936-8936/com.example.mytask A/.example.mytas: java_vm_ext.cc:570] at void androidx.recyclerview.widget.RecyclerView$AdapterDataObservable.notifyItemRangeChanged(int, int, java.lang.Object) (RecyclerView.java:12268)
6
16
 
7
17
 
8
18
 
@@ -16,6 +26,10 @@
16
26
 
17
27
 
18
28
 
29
+ ##ソースコード
30
+
31
+
32
+
19
33
  ```adapter
20
34
 
21
35
  class TaskAdapter(data: OrderedRealmCollection<Task>, val realm: Realm):

5

追加

2020/03/12 11:41

投稿

kbayashi
kbayashi

スコア18

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  今現在todoアプリを作っています
2
2
 
3
- タスクの完了・未完了を切り替えるためにswitchビューを使って処理しているのですが、同じセルのswitchビューを2回切り替えると、アプリが強制終了してしまいます。Adapter内のrealm.executeTransactionが強制終了の原因だと思っていますが、解決方法がわかりません。どなたか助言を頂けないでしょうか。
3
+ タスクの完了・未完了を切り替えるためにswitchビューを使って処理しているのですが、同じセルのswitchビューを2回切り替えると、アプリが強制終了してしまいます。Adapter内のrealm.executeTransaction内で二回目に、flgを更新する時にアプリが強制終了ていますが、解決方法がわかりません。どなたか助言を頂けないでしょうか。
4
4
 
5
5
  E/.example.mytas: Unknown bits set in runtime_flags: 0x8000というエラーが有りました。
6
6
 

4

realm.getdefoult() realm.closeを削除

2020/03/12 09:15

投稿

kbayashi
kbayashi

スコア18

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  ```adapter
20
20
 
21
- class TaskAdapter(data: OrderedRealmCollection<Task>, val realm: Realm):
21
+ class TaskAdapter(data: OrderedRealmCollection<Task>, val realm: Realm):
22
22
 
23
23
  RealmRecyclerViewAdapter<Task, TaskAdapter.ViewHolder>(data, true){
24
24
 
@@ -74,8 +74,6 @@
74
74
 
75
75
 
76
76
 
77
- var realm: Realm = Realm.getDefaultInstance()
78
-
79
77
  //データを取得
80
78
 
81
79
  val task: Task? = getItem(position)
@@ -102,7 +100,7 @@
102
100
 
103
101
  if(prevTask != null){
104
102
 
105
- //日付が一致するならセル合体
103
+ //日付が一致するなら日付消してくっつける
106
104
 
107
105
  if(df.format(prevTask?.date) == df.format(task?.date)){
108
106
 
@@ -144,15 +142,7 @@
144
142
 
145
143
 
146
144
 
147
- //タスクを完了済みにする
145
+
148
-
149
- realm.executeTransaction {db: Realm->
150
-
151
- val get_task = db.where<Task>().equalTo("id", task?.id).findFirst()
152
-
153
- get_task?.flg = true
154
-
155
- }
156
146
 
157
147
  }else if(isChecked == false){
158
148
 
@@ -162,21 +152,21 @@
162
152
 
163
153
  paint.flags = holder.title.paintFlags and Paint.STRIKE_THRU_TEXT_FLAG.inv()
164
154
 
165
- //タスクを完了前にする
166
-
167
- realm.executeTransaction {db: Realm->
168
-
169
- val get_task = db.where<Task>().equalTo("id", task?.id).findFirst()
170
-
171
- get_task?.flg = false
172
-
173
- }
174
-
175
-
176
-
177
155
  }
178
156
 
157
+
158
+
159
+ realm.executeTransaction {db: Realm->
160
+
179
- realm.close()
161
+ var get_task : Task?
162
+
163
+ get_task = db.where<Task>().equalTo("id", task?.id).findFirst()
164
+
165
+ get_task?.flg = holder.switch.isChecked
166
+
167
+ }
168
+
169
+
180
170
 
181
171
  }
182
172
 

3

修正

2020/03/12 08:58

投稿

kbayashi
kbayashi

スコア18

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,8 @@
1
1
  今現在todoアプリを作っています
2
2
 
3
- タスクの完了・未完了を切り替えるためにswitchビューを使って処理しているのですが、同じセルのswitchビューを2回切り替えると、アプリが強制終了してしまいます。E/.example.mytas: Unknown bits set in runtime_flags: 0x8000というエラーが有りした。調べてみました検討つきません。どなたか助言を頂けないでしょうか。
3
+ タスクの完了・未完了を切り替えるためにswitchビューを使って処理しているのですが、同じセルのswitchビューを2回切り替えると、アプリが強制終了してしまいます。Adapter内のrealm.executeTransactionが強制終了の原因だ思っていま、解決方法わかりません。どなたか助言を頂けないでしょうか。
4
+
5
+ E/.example.mytas: Unknown bits set in runtime_flags: 0x8000というエラーが有りました。
4
6
 
5
7
 
6
8
 

2

エラーの追加

2020/03/12 08:44

投稿

kbayashi
kbayashi

スコア18

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,10 @@
1
1
  今現在todoアプリを作っています
2
2
 
3
- タスクの完了・未完了を切り替えるためにswitchビューを使って処理しているのですが、同じセルのswitchビューを2回切り替えると、アプリが強制終了してしまいます。調べてみましたが検討がつきません。どなたか助言を頂けないでしょうか。
3
+ タスクの完了・未完了を切り替えるためにswitchビューを使って処理しているのですが、同じセルのswitchビューを2回切り替えると、アプリが強制終了してしまいます。E/.example.mytas: Unknown bits set in runtime_flags: 0x8000というエラーが有りました。調べてみましたが検討がつきません。どなたか助言を頂けないでしょうか。
4
+
5
+
6
+
7
+
4
8
 
5
9
 
6
10
 
@@ -12,7 +16,7 @@
12
16
 
13
17
  ```adapter
14
18
 
15
- class TaskAdapter(data: OrderedRealmCollection<Task>):
19
+ class TaskAdapter(data: OrderedRealmCollection<Task>, val realm: Realm):
16
20
 
17
21
  RealmRecyclerViewAdapter<Task, TaskAdapter.ViewHolder>(data, true){
18
22
 
@@ -218,7 +222,7 @@
218
222
 
219
223
  task = task.sort("date")
220
224
 
221
- val adapter = TaskAdapter(task)
225
+ val adapter = TaskAdapter(task,realm)
222
226
 
223
227
  task_list.adapter = adapter
224
228
 

1

初心者マーク

2020/03/12 08:38

投稿

kbayashi
kbayashi

スコア18

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- 今現在todoアプリを作っています
1
+ 今現在todoアプリを作っています
2
2
 
3
3
  タスクの完了・未完了を切り替えるためにswitchビューを使って処理しているのですが、同じセルのswitchビューを2回切り替えると、アプリが強制終了してしまいます。調べてみましたが検討がつきません。どなたか助言を頂けないでしょうか。
4
4