 <p>To maintain state across activities you have to use SharedPreferences, or database. In your case <a href="http://developer.android.com/reference/android/content/SharedPreferences.html" rel="nofollow">SharedPreferences</a> is the best option </p> <p>You have used OnSavedInstance it will only save the instance until the activity is not destroyed i.e it stays on the stack.</p> <p>Check <a href="http://developer.android.com/training/basics/activity-lifecycle/index.html" rel="nofollow">activity lifecycle</a> to understand more about when an activity is destroyed.</p> <blockquote> <p>For each checkbox you can store its value in sharedPreference and on onCreate() of you activity you should check the checkboxes according to the sharedPreference values</p> </blockquote> <p>Here is how you use shared prefs</p> <pre><code>SharedPreferences prefs= context.getSharedPreferences("myPrefs", 0); SharedPreferences.Editor editor = prefs.edit(); editor.putBoolean("checkbox1", true);//true if checked editor.commit(); // get stored value , if no value is stored then assume its false prefs.getBoolean("checkbox1", false); </code></pre>