4 回答
TA贡献1842条经验 获得超21个赞
解:
((ViewGroup)scrollChildLayout.getParent()).removeView(scrollChildLayout);
//scrollView.removeView(scrollChildLayout);
使用子元素获取对父元素的引用。将父对象强制转换为ViewGroup,以便您可以访问removeView方法并使用它。
TA贡献1827条经验 获得超8个赞
尝试先从其父视图中移除scrollChildLayout吗?
scrollview.removeView(scrollChildLayout)
或从父视图中删除所有子项,然后再次添加它们。
scrollview.removeAllViews()
TA贡献1946条经验 获得超4个赞
在带有活动的onCreate或带有片段的onCreateView中。
if (view != null) {
ViewGroup parent = (ViewGroup) view.getParent();
if (parent != null) {
parent.removeView(view);
}
}
try {
view = inflater.inflate(R.layout.fragment_main, container, false);
} catch (InflateException e) {
}
TA贡献1828条经验 获得超13个赞
好吧,叫我偏执,但我建议:
final android.view.ViewParent parent = view.getParent ();
if (parent instanceof android.view.ViewManager)
{
final android.view.ViewManager viewManager = (android.view.ViewManager) parent;
viewManager.removeView (view);
} // if
抛弃instanceof不公正似乎是错误的。并且(感谢IntelliJ IDEA告诉我) removeView是ViewManager界面的一部分。当有一个非常合适的接口可用时,就不应将其转换为具体的类。
- 4 回答
- 0 关注
- 966 浏览
添加回答
举报