首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >首先在子级的父级上调用removeView()

首先在子级的父级上调用removeView()
EN

Stack Overflow用户
提问于 2011-06-30 04:31:36
回答 10查看 195.2K关注 0票数 141

首先是一些背景知识:

我在滚动视图中有一个布局。首先,当用户在屏幕上滚动时,滚动视图也会滚动。然而,经过一定数量的滚动后,我将禁用滚动视图上的滚动,并将“滚动焦点”移动到子布局内的was视图上。这样,scrollview就会固定下来,所有的scroll事件都会转到其中的webview中。

因此,作为一种解决方案,当达到滚动阈值时,我从滚动视图中删除子布局,并将其放入滚动视图的父布局中(并使滚动视图不可见)。

// Remove the child view from the scroll view
scrollView.removeView(scrollChildLayout);

// Get scroll view out of the way
scrollView.setVisibility(View.GONE);

// Put the child view into scrollview's parent view
parentLayout.addView(scrollChildLayout);

一般想法:(->表示包含)

之前: parentlayout -> scrollview -> scrollChildLayout

之后: parentLayout -> scrollChildLayout

上面的代码给了我这样的异常:

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:1976)
           at android.view.ViewGroup.addView(ViewGroup.java:1871)
           at android.view.ViewGroup.addView(ViewGroup.java:1828)
           at android.view.ViewGroup.addView(ViewGroup.java:1808)

你知道发生了什么事吗?我显然是在家长身上调用removeView。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6526874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档