我有一个旋转器,其数字从1到10.如果用户选择1以上的任何东西,某个INVISBLE的EditText变得可见,这就是我想要的。但是当我将它从纵向更改为横向时,它又回到了INVISIBLE。
这是发生变化的地方
btn_Calc.setOnClickListener(new View.OnClickListener() {
@Override
if (split > 1) {
et_APP.setVisibility(View.VISIBLE);
tv_app.setVisibility(View.VISIBLE);
vis = 1;
}
else{
et_APP.setVisibility(View.INVISIBLE);
tv_app.setVisibility(View.INVISIBLE);
vis = 2;
}
});
我尝试像这样做onSaveInstanceState
if(savedInstanceState != null) {
int isVis = savedInstanceState.getInt("vis", 2);
if(isVis == 1){
et_APP.setVisibility(View.VISIBLE);
tv_app.setVisibility(View.VISIBLE);
}
else{
et_APP.setVisibility(View.INVISIBLE);
tv_app.setVisibility(View.INVISIBLE);
}
}
public void onSaveInstanceState(Bundle savedInstanceState){
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putInt("getVisible", vis);
}
抱歉格式不佳,我删掉了不相关的代码。
如果微调器中的选定项大于1并且我单击了calc按钮,它会显示我想要的字段,但是当我改变方向时,它们会再次消失。关于如何在改变方向时保持可见的任何想法?
答案 0 :(得分:3)
您的密钥名称在保存和加载之间不匹配。
保存:
savedInstanceState.putInt("getVisible", vis);
恢复:
int isVis = savedInstanceState.getInt("vis", 2);
答案 1 :(得分:1)
如果您不希望Android执行任何操作,则会重新创建布局添加以下行:`android:configChanges =" keyboardHidden | orientation | screenSize"'清单中的活动。