質問編集履歴

3

タイトル修正

2016/12/16 05:23

投稿

monagano
monagano

スコア246

test CHANGED
@@ -1 +1 @@
1
- [Android]Toolbarの画面遷移でWindowLeakedエラーが発生してしまう。
1
+ [Android]Activity.finish()時にWindowLeakedエラーが発生してしまう。
test CHANGED
File without changes

2

「試したこと」を更新、タイトルAndroid Studio⇒Androidに変更

2016/12/16 05:23

投稿

monagano
monagano

スコア246

test CHANGED
@@ -1 +1 @@
1
- [Android Studio]Toolbarの画面遷移でWindowLeakedエラーが発生してしまう。
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

タグを追加

2016/12/16 02:05

投稿

monagano
monagano

スコア246

test CHANGED
File without changes
test CHANGED
File without changes