title: No such instance field
body: <p>I'm trying to get my application to save some data when the orientation of the screen is changed using the <code>onSaveInstanceState</code> to save a boolean value <code>mCheated</code>. </p>
  
  <p>I've set numerous break points and am getting an error for the <code>mCheated</code> boolean value in the variables view</p>
  
  <pre><code>mCheated= No such instance field: 'mCheated'
  </code></pre>
  
  <p>I have no idea why as I declare it with a value false when the activity is started and change it to true if a button is pressed. Can anyone help me out?</p>
  
  <pre><code>package com.bignerdranch.android.geoquiz;
  
  import android.app.Activity;
  import android.content.Intent;
  import android.os.Bundle;
  import android.view.View;
  import android.widget.Button;
  import android.widget.TextView;
  
  /**
   * Created by Chris on 20/02/2015.
   */
  public class CheatActivity extends Activity {
  
      public static final String EXTRA_ANSWER_IS_TRUE = "com.bignerdranch.android.geoquiz.answer_is_true";
      public static final String EXTRA_ANSWER_SHOWN = "com.bignerdranch.android.geoquiz.answer_shown";
  
      private static final String KEY_INDEX = "index";
  
      private boolean mAnswerIsTrue;
  
      private TextView mAnswerTextView;
      private Button mShowAnswer;
  
      private boolean mCheated = false;
  
      private void setAnswerShownResult(boolean isAnswerShown) {
          Intent data = new Intent();
          data.putExtra(EXTRA_ANSWER_SHOWN, isAnswerShown);
          setResult(RESULT_OK, data);
      }
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_cheat);
  
          mAnswerIsTrue = getIntent().getBooleanExtra(EXTRA_ANSWER_IS_TRUE,false);
  
          if (savedInstanceState != null){
              mCheated = savedInstanceState.getBoolean(KEY_INDEX, mCheated);
          }
          setAnswerShownResult(mCheated);
  
          mAnswerTextView = (TextView)findViewById(R.id.answerTextView);
          mShowAnswer = (Button)findViewById(R.id.showAnswerButton);
          mShowAnswer.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                  if (mAnswerIsTrue) {
                      mAnswerTextView.setText(R.string.true_button);
                  }
                  else {
                      mAnswerTextView.setText(R.string.false_button);
                  }
                  setAnswerShownResult(true);
                  mCheated = true;
              }
          });
  
      }
  
      @Override
      public void onSaveInstanceState(Bundle savedInstanceState){
          super.onSaveInstanceState(savedInstanceState);
          //Log.i(TAG, "onSaveInstanceState");
          savedInstanceState.putBoolean(KEY_INDEX, mCheated);
      }
  }
  </code></pre>