如何永远隐藏视图

How to hide views for always

谁能告诉我如何永远隐藏视图?

我用 view.setVisibility(view.GONE); 隐藏了一个视图,但是当重新打开应用程序时,我必须重新隐藏该视图。我希望在单击按钮时始终隐藏视图,直到清除应用程序数据或卸载。谢谢!

您需要通过在 SharedPreference 中创建用于隐藏和取消隐藏视图的标志来保存状态,并且您需要根据该标志创建 GONE 或 VISIBLE 视图。

没有永久隐藏的选项,但你可以通过这种方式实现

1.Remove 具体 view by

parent.removeViewAt(index);

parent.removeView(view);
  1. 你必须将状态保存到 show/hide view 永久存储,如

    共享偏好/数据库

共享偏好示例

1.store sharedPrefernces 中的值:

SharedPreferences preferences = this.getSharedPreferences("SoldiPreferences", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("storevalue", false);
editor.commit();

2.get 来自 sharedPreferences 的值:

SharedPreferences preferences = this.getSharedPreferences("SoldiPreferences", Context.MODE_PRIVATE);
preferences.getBoolean("storevalue", false);

if(preferences.getBoolean("storevalue", false))
{
view.setVisibility(View.VISIBLE);
}
else
view.setVisibility(View.GONE);

您当前的方法是程序化方法,如果您想要一个按钮来切换视图的可见性,您可能必须使用这种方法。我知道的唯一其他选择是禁用 XML 布局文件的可见性:

<TextView
    android:visibility="gone"
    ... />

你必须使用 SharedPreferences,当你隐藏 View 然后在 SharedPreferences 中存储一个值,当你返回应用程序时从 [=12= 获取值] 并根据该值通过您正在使用的相同方法隐藏您的 View

SharedPreferences sp = getSharedPreferences("PREFS_NAME", Context.MODE_PRIVATE);
SharedPreferences.Editor et = sp.edit();
et.putBoolean("isViewHide", true);
et.commit();

从 SharedPreferences 获取价值

SharedPreferences sp = getSharedPreferences("PREFS_NAME", Context.MODE_PRIVATE);
boolean cb1 = sp.getBoolean("isViewHide", false);

引用自SharedPreferences example