質問編集履歴
6
エラー追記
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
|
-
|
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
追加
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を削除
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
```adapter
|
20
20
|
|
21
|
-
class TaskAdapter(data: OrderedRealmCollection<Task>,
|
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
|
-
rea
|
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
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
今現在todoアプリを作っています
|
2
2
|
|
3
|
-
タスクの完了・未完了を切り替えるためにswitchビューを使って処理しているのですが、同じセルのswitchビューを2回切り替えると、アプリが強制終了してしまいます。
|
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
エラーの追加
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
初心者マーク
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
今現在todoアプリを作っています
|
1
|
+
今現在todoアプリを作っています
|
2
2
|
|
3
3
|
タスクの完了・未完了を切り替えるためにswitchビューを使って処理しているのですが、同じセルのswitchビューを2回切り替えると、アプリが強制終了してしまいます。調べてみましたが検討がつきません。どなたか助言を頂けないでしょうか。
|
4
4
|
|