VISIBLE EditText在方向更改时变为INVISBLE

时间:2016-02-14 02:42:14

标签: android android-edittext visible android-orientation invisible

我有一个旋转器,其数字从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按钮,它会显示我想要的字段,但是当我改变方向时,它们会再次消失。关于如何在改变方向时保持可见的任何想法?

2 个答案:

答案 0 :(得分:3)

您的密钥名称在保存和加载之间不匹配。

保存:

savedInstanceState.putInt("getVisible", vis);

恢复:

int isVis = savedInstanceState.getInt("vis", 2);

答案 1 :(得分:1)

如果您不希望Android执行任何操作,则会重新创建布局添加以下行:`android:configChanges =" keyboardHidden | orientation | screenSize"'清单中的活动。