###前提
タイトルのように、一度アプリから離れて再び再開する時に焦点を当てるのですが、再開するときに実行中のメソッドの最初から再び始めることが前提です。
※タイトル画面を現在作成しているので、段階的に画面を作っていくものとなります。
###発生している問題・エラーメッセージ
java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first. at android.view.ViewGroup.addViewInner(ViewGroup.java:4309) at android.view.ViewGroup.addView(ViewGroup.java:4145) at android.view.ViewGroup.addView(ViewGroup.java:4086) at android.view.ViewGroup.addView(ViewGroup.java:4059) at com.gmail.archerygame.Main.parts(Main.java:205) at com.gmail.archerygame.Main$1.onLoadComplete(Main.java:162)
とあるのですが、実際には下記のようにremoveViewを実装しています。
###該当のソースコード
205行目
java
1fl.addView(cta);
162行目前後
java
1action.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() { 2 @Override 3 public void onLoadComplete(SoundPool soundPool, int i, int i1) { 4 if (0 == i1) { 5 parts(); 6 } 7 } 8 });
removeView()の箇所
java
1@Override 2 public void onResume() { 3 super.onResume(); 4 pref = getSharedPreferences("keydata", MODE_PRIVATE); 5 key = pref.getString("gatekey", "nothing"); 6 Log.d("keynum", key); 7 if (key == "nothing"){ 8 }else if (key == "parts"){ 9 state = "recome"; 10 fl.removeView(fl); 11 fl.removeView(ll); 12 fl.removeView(title); 13 fl.removeView(cta); 14 parts(); 15 }else if (key == "looper"){ 16 state = "recome"; 17 titley = defaulttitley; 18 titlewherecb = defaulttitlex; 19 s = 37.0f; 20 cnt = 0; 21 looper(); 22 }else if (key == "cb"){ 23 state = "recome"; 24 cnten1a = 0; 25 cb(); 26 }else if (key == "toastm"){ 27 state = "recome"; 28 toastm(); 29 }
###エラーに対して対処したこと
removeViewを実装しました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/28 12:41
2017/01/28 12:57
2017/01/28 12:59 編集
2017/01/28 13:07
2017/01/28 13:10