android - 如何从 Activity RootView 中删除 View

标签 android layout view viewgroup rootview

我正在尝试删除膨胀的 View 。这就是我膨胀 View 的方式:

ViewGroup vg = (ViewGroup)findViewById(android.R.id.content).getRootView();
mOverflowMenuView = View.inflate(this, R.layout.overflow_menu, vg);     

这就是我尝试将其从 onBackPressed 中删除的方式

ViewGroup vg = (ViewGroup)(mOverflowMenuView.getParent());
vg.removeView(mOverflowMenuView);

但是我得到一个类转换异常:

03-11 22:47:31.848: E/AndroidRuntime(26357): java.lang.ClassCastException: android.view.ViewRootImpl cannot be cast to android.view.ViewGroup

有什么想法吗?

最佳答案

如果您在下面的行中收到 classcastexception:

  ViewGroup vg = (ViewGroup)findViewById(android.R.id.content).getRootView();

然后我建议您在布局的 Root View 中放置一个 id,然后直接使用 findViewById() 对其进行扩充,然后使用 removeView 方法。

关于android - 如何从 Activity RootView 中删除 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15349425/

相关文章:

ios - React Native Text 组件不会在 View 组件内居中

android - EditText - 只允许上下文已知的特定字符

html - 两个垂直的子元素需要适应父元素的 100% 高度,都是动态高度

view - 如何在 iOS SDK4.2( Storyboard)中使用分段控件更改 View Controller ?需要示例代码

css - Magento 从特定 View 中删除 css 或 js

android - GridView 和多余的空间填充

java - 从 RecyclerView 中删除与 List 不关联的 View

android - 两个 View 之间的自定义画线无法正常工作

android - 如何计算ScrollView中ImageView的触摸位置,考虑缩放因素?

android - 在 android 2.3 设备上没有对等证书错误,但在 android 4+ 上工作正常