【问题标题】:Why view is still showing after removing from layout为什么从布局中删除后视图仍然显示
【发布时间】:2018-06-25 23:31:04
【问题描述】:

为什么我的视图在从布局中移除后一直显示阴影。我试过view.postInvalidate(); 和其他方法 什么是解决方案 这是图片

【问题讨论】:

  • 使用 view.setVisibility(View.GONE);
  • 您没有展示如何将其从布局中删除。我认为你做错了

标签: android layout dynamic views


【解决方案1】:

我不确定您是如何编写代码的。

你可以试试这个:

  ((ViewManager)view.getParent()).removeView(view);

或者这是正常的做法:

Android 从父级移除视图

  View myView = findViewById(R.id.hiddenLayout);
  ViewGroup parent = (ViewGroup) myView.getParent();
  parent.removeView(myView);

Android 移除所有子视图

  LinearLayout formLayout = (LinearLayout)findViewById(R.id.formLayout);
  formLayout.removeAllViews();

您可以参考以下答案:
Add & delete view from Layout

【讨论】:

  • 我已经删除了视图,现在删除后显示的是鲱鱼,就像我在这里发布的图片一样,布局不刷新
  • 这是正确的,但你用什么代码来删除它?另外,为什么不隐藏视图而不是移除它,因为它可能需要系统重绘屏幕元素?
【解决方案2】:

在布局中,你可以使用:android:visibility="gone"

<TextView
    android:id="@+id/layout_txt"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Next"
    android:visibility="gone" />

在 Activity(java) 中:

LinearLayout llone= (LinearLayout) view.findViewById(R.id.llone);// change id here

layone.setVisibility(View.GONE);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-19
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 2021-06-09
    • 1970-01-01
    • 2015-09-10
    相关资源
    最近更新 更多