質問編集履歴
3
タイトル修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
[Android]
|
1
|
+
[Android]Activity.finish()時にWindowLeakedエラーが発生してしまう。
|
test
CHANGED
File without changes
|
2
「試したこと」を更新、タイトルAndroid Studio⇒Androidに変更
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
[Android
|
1
|
+
[Android]Toolbarの画面遷移でWindowLeakedエラーが発生してしまう。
|
test
CHANGED
@@ -286,6 +286,8 @@
|
|
286
286
|
|
287
287
|
menu>item>menuとネストしています
|
288
288
|
|
289
|
+
menu_mainの書き方がそもそも間違っているかも??
|
290
|
+
|
289
291
|
```xml
|
290
292
|
|
291
293
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
@@ -332,7 +334,7 @@
|
|
332
334
|
|
333
335
|
|
334
336
|
|
335
|
-
ソース全文
|
337
|
+
以下、ソースコード全文
|
336
338
|
|
337
339
|
[https://github.com/Monagano/sampleApp_teratailQ1](https://github.com/Monagano/sampleApp_teratailQ1)
|
338
340
|
|
@@ -340,8 +342,38 @@
|
|
340
342
|
|
341
343
|
###試したこと
|
342
344
|
|
345
|
+
finishを遅延実行させたところ、エラーが発生しなかったため、
|
346
|
+
|
347
|
+
応急処置として以下のコードを採用しています。
|
348
|
+
|
349
|
+
```Java
|
350
|
+
|
351
|
+
case R.id.action_main:
|
352
|
+
|
353
|
+
//finish();//ここだとエラー
|
354
|
+
|
355
|
+
new Handler().postDelayed(new Runnable() {
|
356
|
+
|
357
|
+
@Override
|
358
|
+
|
359
|
+
public void run() {
|
360
|
+
|
361
|
+
finish();//ここなら正常
|
362
|
+
|
363
|
+
}
|
364
|
+
|
365
|
+
},300);//300msは適当な値(100msだと早すぎてエラーとなりました)
|
366
|
+
|
367
|
+
```
|
368
|
+
|
369
|
+
finish処理時点でサブメニューの描画処理が終わっていないのが問題だと思うのですが、
|
370
|
+
|
371
|
+
サブメニューを明示的に閉じ、完了を待つすべがわかりません。
|
372
|
+
|
343
373
|
finish()手前でtoolbar.dismissPopupMenus()を行ってみましたが、改善しませんでした。
|
344
374
|
|
375
|
+
|
376
|
+
|
345
377
|
android初学者なため、的外れな質問となっていないか不安です。
|
346
378
|
|
347
379
|
よろしくお願いいたします。
|
1
タグを追加
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|