如何始终隐藏视图
Posted
技术标签:
【中文标题】如何始终隐藏视图【英文标题】:How to hide views for always 【发布时间】:2017-07-07 04:44:28 【问题描述】:谁能告诉我如何永远隐藏视图?
我使用view.setVisibility(view.GONE);
隐藏了一个视图,但是当重新打开应用程序时,我必须重新隐藏该视图。我希望在单击按钮时始终隐藏视图,直到清除应用程序数据或卸载。谢谢!
【问题讨论】:
添加您的代码,以便我尝试解决您的问题。 您当前的方法可能是您必须使用的让按钮切换视图的方法。您还可以从可能有用的布局 XML 中设置可见性。 【参考方案1】:您需要通过在SharedPreference
中创建隐藏和取消隐藏视图的标志来保存状态,并且基于该标志您需要 GONE 或 VISIBLE View。
【讨论】:
【参考方案2】:你必须使用SharedPreferences
,当你隐藏View
然后在SharedPreferences
中存储一个值,当你回到应用程序时从SharedPreferences
获取值并根据该值隐藏你的@987654326 @ 通过您使用的相同方法。
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的参考
【讨论】:
【参考方案3】:没有永久隐藏的选项,但你可以通过这种方式实现
1.删除具体的view
by
parent.removeViewAt(index);
parent.removeView(view);
您必须将状态保存到show/hide
view
上的永久存储中,例如
共享偏好/数据库
共享偏好示例
1.将值存储在sharedPrefernces
:
SharedPreferences preferences = this.getSharedPreferences("SoldiPreferences", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("storevalue", false);
editor.commit();
2.从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);
【讨论】:
你能告诉我如何使用'SharedPreference'和'.setVisibility' 你能举个例子,用按钮点击'view.setVisibility(view.GONE);' button.setOnClickListener(new View.OnClickListener() @Override public void onClick(View v) imageview.setVisibility(View.GONE); SharedPreferences preferences = this.getSharedPreferences("SoldiPreferences", Context .MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); editor.putBoolean("storevalue", true); editor.commit(); ); 您还必须在 create 上签入,以便下一次可见/消失。【参考方案4】:您当前的方法是编程方法,如果您想要一个按钮来切换视图的可见性,您可能必须使用这种方法。我知道的唯一其他选择是禁用 XML 布局文件的可见性:
<TextView
android:visibility="gone"
... />
【讨论】:
以上是关于如何始终隐藏视图的主要内容,如果未能解决你的问题,请参考以下文章