0

我有一個微調的數字從1 - 10.如果用戶選擇任何超過1,INVISBLE的某個EditText成爲可見,這就是我想要的。但是當我將它從縱向改爲橫向時,它可以追溯到INVISIBLE。可見的EditText轉到INVISBLE的方向更改

這是不斷變化的情況

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按鈕,它將顯示我想要的字段,但是當我改變方向時,它們會再次消失。關於如何在改變方向時保持可見狀態的任何想法?

回答

3

您的密鑰名稱在保存和加載之間不匹配。

保存:

savedInstanceState.putInt("getVisible", vis); 

恢復:

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

哇!是的,我不能相信我錯過了那個。第二雙眼睛的力量。謝謝。 – Kalkrin

+0

@Kalkrin完全知道你的意思。 –

+0

@Kalkrin如果你也可以接受這個答案作爲正確的答案,我將不勝感激(不只是upvote)。 –

1

佈局正在重建,如果你不希望Android做任何添加以下行:`機器人:configChanges =「keyboardHidden | orientation | screenSize「'添加到清單中的活動。