title: How to use onSaveInstanceState() and onRestoreInstanceState()?
body: <p>I am trying to save data across orientation changes. As demonstrated in the code below, I use <code>onSaveInstanceState()</code> and <code>onRestoreInstanceState()</code>. I try to get the saved value and I check if it is the correct value in <code>onRestoreInstanceState()</code>. But when I try to use the new value in <code>onCreate()</code>, I don't have the new value but the old one. </p>
  
  <pre><code>protected void onSaveInstanceState(Bundle outState) {
          super.onSaveInstanceState(outState);
          outState.putString("TEXT", user);
  
      }
  protected void onRestoreInstanceState(Bundle savedInstanceState) {
      super.onRestoreInstanceState(savedInstanceState);
      savedUser = savedInstanceState.getString("TEXT");
      Log.d("enregistred value", savedUser);
  
  }
  
  
  
  public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
  
          int display_mode = getResources().getConfiguration().orientation;
  
          if (display_mode == 1) {
  
              setContentView(R.layout.main_grid);
              mGrid = (GridView) findViewById(R.id.gridview);
              mGrid.setColumnWidth(95);
              mGrid.setVisibility(0x00000000);
              // mGrid.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
  
          } else {
              setContentView(R.layout.main_grid_land);
              mGrid = (GridView) findViewById(R.id.gridview);
              mGrid.setColumnWidth(95);
              Log.d("Mode", "land");
              // mGrid.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
  
          }
          Log.d("savedUser", savedUser);
          if (savedUser.equals("admin")) { //value 0
              adapter.setApps(appManager.getApplications());
          } else if (savedUser.equals("prof")) { //value 1
              adapter.setApps(appManager.getTeacherApplications());
          } else {// default value
              appManager = new ApplicationManager(this, getPackageManager());
              appManager.loadApplications(true);
              bindApplications();
          }
  }
  </code></pre>