请问有人可以告诉我如何永久隐藏视图吗?
我正在使用view.setVisibility(view.GONE);
隐藏一个视图,但当重新打开应用程序时,我必须重新隐藏该视图。我希望当单击按钮时,视图永久隐藏,直到清除应用程序数据或卸载为止。谢谢!
您需要通过在SharedPreference
中创建隐藏和显示视图的标志来保存状态,根据该标志您需要将视图设置为GONE或VISIBLE。
View
时,需要使用 SharedPreferences
存储一个值,在回到应用程序时从 SharedPreferences
获取该值,并根据该值使用相同的方法隐藏你的 View
。请保留 HTML 标签。SharedPreferences sp = getSharedPreferences("PREFS_NAME", Context.MODE_PRIVATE);
SharedPreferences.Editor et = sp.edit();
et.putBoolean("isViewHide", true);
et.commit();
SharedPreferences sp = getSharedPreferences("PREFS_NAME", Context.MODE_PRIVATE);
boolean cb1 = sp.getBoolean("isViewHide", false);
你目前的方法是编程方法,如果你想要一个按钮来切换视图的可见性,那么这可能是你必须使用的方法。我所知道的唯一其他选项是从XML布局文件中禁用可见性:
<TextView
android:visibility="gone"
... />
没有永久隐藏选项,但您可以通过以下方式实现
1.通过删除特定的视图(view)
来实现
parent.removeViewAt(index);
parent.removeView(view);
你必须将状态保存到永久存储中,以便于显示/隐藏
视图,例如:
共享首选项/数据库
共享首选项示例
1.在sharedPreferences
中存储值:
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);
imageview.setVisibility(View.GONE);
SharedPreferences preferences = this.getSharedPreferences("SoldiPreferences", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("storevalue", true);
editor.commit();
}
}); - Adnan Maqbool