Gelöschter Account
- Forum-Beiträge: 2.492
14.06.2013, 13:58:17 via Website
14.06.2013 13:58:17 via Website
Hallo, ich habe in meiner App mehrere Buttons 9 in einer Reihe und mehrere Reihen untereinander.
Die 9er Reihe ist ein LinearLayout und die vielen LinearLayouts sind in einem Gesamtlayout welches in einem ScrollView ist.
Jetzt möchte ich eine Reihe löschen und dann die restlichen Buttons neu einfügen.
nextButtons ist eine Liste in der die Buttons (ohne die gelöschten Buttons) drin sind.
Ich habe mir gedacht ich lösche mit ((ViewGroup)layout.getParent()).removeView(layout); das bisherige Layout und füge dann das neue layout (layoutb) dafür ein.
wenn ich das durchführen will kommt folgender Fehler:
Die 9er Reihe ist ein LinearLayout und die vielen LinearLayouts sind in einem Gesamtlayout welches in einem ScrollView ist.
Jetzt möchte ich eine Reihe löschen und dann die restlichen Buttons neu einfügen.
1((ViewGroup)layout.getParent()).removeView(layout);
2 bb = new LinearLayout(this);
3 bb.setLayoutParams(params2);
4 bb.setOrientation(LinearLayout.HORIZONTAL);
5 bb.setWeightSum(9);
6 bb.setId(0);
7 for (int i = 0; i < 9; i++) {
8 bb.addView(nextButtons.get(zahler));
9 zahler++;
10 }
11 layoutList.add(bb);
12 layoutb.addView(bb);
13sv.addView(layoutb);
2 bb = new LinearLayout(this);
3 bb.setLayoutParams(params2);
4 bb.setOrientation(LinearLayout.HORIZONTAL);
5 bb.setWeightSum(9);
6 bb.setId(0);
7 for (int i = 0; i < 9; i++) {
8 bb.addView(nextButtons.get(zahler));
9 zahler++;
10 }
11 layoutList.add(bb);
12 layoutb.addView(bb);
13sv.addView(layoutb);
nextButtons ist eine Liste in der die Buttons (ohne die gelöschten Buttons) drin sind.
Ich habe mir gedacht ich lösche mit ((ViewGroup)layout.getParent()).removeView(layout); das bisherige Layout und füge dann das neue layout (layoutb) dafür ein.
wenn ich das durchführen will kommt folgender Fehler:
106-14 13:57:12.544: E/AndroidRuntime(24021): FATAL EXCEPTION: main
206-14 13:57:12.544: E/AndroidRuntime(24021): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
306-14 13:57:12.544: E/AndroidRuntime(24021): at android.view.ViewGroup.addView(ViewGroup.java:3507)
406-14 13:57:12.544: E/AndroidRuntime(24021): at android.view.ViewGroup.addView(ViewGroup.java:3464)
506-14 13:57:12.544: E/AndroidRuntime(24021): at android.view.ViewGroup.addView(ViewGroup.java:3444)
606-14 13:57:12.544: E/AndroidRuntime(24021): at com.lars.Play.loscheReihen(Play.java:765)
706-14 13:57:12.544: E/AndroidRuntime(24021): at com.lars.Play.onLongClick(Play.java:711)
806-14 13:57:12.544: E/AndroidRuntime(24021): at android.view.View.performLongClick(View.java:3574)
906-14 13:57:12.544: E/AndroidRuntime(24021): at android.widget.TextView.performLongClick(TextView.java:9998)
1006-14 13:57:12.544: E/AndroidRuntime(24021): at android.view.View$CheckForLongPress.run(View.java:14308)
1106-14 13:57:12.544: E/AndroidRuntime(24021): at android.os.Handler.handleCallback(Handler.java:608)
1206-14 13:57:12.544: E/AndroidRuntime(24021): at android.os.Handler.dispatchMessage(Handler.java:92)
1306-14 13:57:12.544: E/AndroidRuntime(24021): at android.os.Looper.loop(Looper.java:156)
1406-14 13:57:12.544: E/AndroidRuntime(24021): at android.app.ActivityThread.main(ActivityThread.java:4977)
1506-14 13:57:12.544: E/AndroidRuntime(24021): at java.lang.reflect.Method.invokeNative(Native Method)
1606-14 13:57:12.544: E/AndroidRuntime(24021): at java.lang.reflect.Method.invoke(Method.java:511)
1706-14 13:57:12.544: E/AndroidRuntime(24021): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
1806-14 13:57:12.544: E/AndroidRuntime(24021): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
1906-14 13:57:12.544: E/AndroidRuntime(24021): at dalvik.system.NativeStart.main(Native Method)
206-14 13:57:12.544: E/AndroidRuntime(24021): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
306-14 13:57:12.544: E/AndroidRuntime(24021): at android.view.ViewGroup.addView(ViewGroup.java:3507)
406-14 13:57:12.544: E/AndroidRuntime(24021): at android.view.ViewGroup.addView(ViewGroup.java:3464)
506-14 13:57:12.544: E/AndroidRuntime(24021): at android.view.ViewGroup.addView(ViewGroup.java:3444)
606-14 13:57:12.544: E/AndroidRuntime(24021): at com.lars.Play.loscheReihen(Play.java:765)
706-14 13:57:12.544: E/AndroidRuntime(24021): at com.lars.Play.onLongClick(Play.java:711)
806-14 13:57:12.544: E/AndroidRuntime(24021): at android.view.View.performLongClick(View.java:3574)
906-14 13:57:12.544: E/AndroidRuntime(24021): at android.widget.TextView.performLongClick(TextView.java:9998)
1006-14 13:57:12.544: E/AndroidRuntime(24021): at android.view.View$CheckForLongPress.run(View.java:14308)
1106-14 13:57:12.544: E/AndroidRuntime(24021): at android.os.Handler.handleCallback(Handler.java:608)
1206-14 13:57:12.544: E/AndroidRuntime(24021): at android.os.Handler.dispatchMessage(Handler.java:92)
1306-14 13:57:12.544: E/AndroidRuntime(24021): at android.os.Looper.loop(Looper.java:156)
1406-14 13:57:12.544: E/AndroidRuntime(24021): at android.app.ActivityThread.main(ActivityThread.java:4977)
1506-14 13:57:12.544: E/AndroidRuntime(24021): at java.lang.reflect.Method.invokeNative(Native Method)
1606-14 13:57:12.544: E/AndroidRuntime(24021): at java.lang.reflect.Method.invoke(Method.java:511)
1706-14 13:57:12.544: E/AndroidRuntime(24021): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
1806-14 13:57:12.544: E/AndroidRuntime(24021): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
1906-14 13:57:12.544: E/AndroidRuntime(24021): at dalvik.system.NativeStart.main(Native Method)
— geändert am 14.06.2013, 14:00:11