VISIBLE EditText 在方向改变时变为 INVISIBLE

VISIBLE EditText goes to INVISBLE on orientation change

我有一个数字从 1 到 10 的微调器。如果用户选择大于 1 的任何内容,某个不可见的 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 并且我单击计算按钮,它会显示我想要的字段,但当我更改方向时它们会再次消失。关于更改方向时如何保持可见的任何想法?

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

节省:

savedInstanceState.putInt("getVisible", vis);

正在恢复:

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

正在重新创建布局,如果您不想 Android 执行任何操作,请添加以下行:`android:configChanges="keyboardHidden|orientation|screenSize"' 到 activity 在清单中。