[英]how can I save editText visibility state (View.GONE)?
I have a problem with editText visibility. 我对editText可见性有疑问。 In the beginning of my code I've set visibility to GONE
在我的代码的开头,我已将可见性设置为GONE
editText.setVisibility(View.GONE);
This part is fine, it sets my editText to GONE. 这部分很好,它将我的editText设置为GONE。 However if i minimise my app and then summon it again, editText field becomes Visible.
但是,如果我最小化我的应用程序然后再次召唤它,editText字段将变为可见。 I've tried to save View setting with SharedPreferences, but i don't know how to do it right.
我尝试使用SharedPreferences保存View设置,但我不知道如何正确执行。 I am trying to save View with:
我想用以下方法保存View:
myPrefs = getSharedPreferences("save steps", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = myPrefs.edit();
editor.putInt("visibility", editText.getVisibility());
editor.commit();
And then load data back with: 然后加载数据:
editText.setVisibility(myPrefs.getInt("visibility", 0));
But this approach crashes my app. 但这种方法崩溃了我的应用程序。 Maybe there are any suggestions how to solve this?
也许有任何建议如何解决这个问题?
The reason is simple. 原因很简单。 When app come back from background, activity restarts (recreate your
edittext
). 当应用程序从后台返回时,活动将重新启动(重新创建您的
edittext
)。
You can use savedInstanceState
or put 您可以使用
savedInstanceState
或put
@Override
public void onResume(){
super.onResume();
edittext.setVisibility(View.GONE);
}
EDIT: Change: 编辑:更改:
editText.setVisibility(myPrefs.getInt("visibility", 0));
to 至
editText.setVisibility(myPrefs.getInt("visibility", View.GONE));
I can't see the entire code, maybe app crash is caused by null pointer exception.. 我看不到整个代码,也许应用程序崩溃是由空指针异常引起的..
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.