我有一个 ViewSwitcher 并想向它添加视图:
// initialize views
final ViewSwitcher switcher = new ViewSwitcher(this);
layMenu = (LinearLayout)findViewById(R.id.menu_main_view);
final LevelPicker levelPicker = new LevelPicker(getApplicationContext());
(//)switcher.addView(layMenu);
(//)switcher.addView(findViewById(R.layout.menu_switcher));
一个是自定义视图,另一个来自 XML。我评论了其中一个,但他们似乎都扔了IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
我尝试做几件事,例如首先将视图放入“容器”(另一种布局),或者尝试 removeView((View)getParent),就像我相信 logcat 试图说的那样。
这是我的 xml 文件(简而言之):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/menu_main_view">
<TextView>
</TextView>
<LinearLayout>
<Button></Button> //couple of buttons
</LinearLayout>
</LinearLayout> //this is the parent i guess
我的第一个猜测是所有孩子都必须在一个父母中,在我的例子中是线性布局。这似乎不起作用。
谢谢