title: How does `onViewStateRestored` from Fragments work?
body: <p>I am really confused with the internal state of a Fragment. 
  I have an Activity holding only one Fragment at once and replaces it, if another Fragment should get shown. From the docs <code>onSaveInstanceState</code> is called <em>ONLY</em> if the Activitys <code>onSaveInstanceState</code> is getting called (which isn't called in my case).</p>
  
  <p>If I stop my Fragment, I'll store its state myself inside a Singleton (yeah, I know I hate Singletons, too, but wasn't my idea to do so). 
  So I have to recreate the whole <code>ViewHirarchy</code>, create new Views (by using the keyword <code>new</code>), restore its state and return them in <code>onCreateView</code>.
  I also have a Checkbox inside this View from which I explicitly do <em>NOT</em> want to store its state. </p>
  
  <p>However the <code>FragmentManager</code> wants to be "intelligent" and calls <code>onViewStateRestored</code> with a Bundle I never created myself, and "restores" the state of the old <code>CheckBox</code> and applies it to my NEW CheckBox. This throws up so many questions:</p>
  
  <p>Can I control the bundle from <code>onViewStateRestored</code>?</p>
  
  <p>How does the FragmentManager take the state of a (probably garbage-collected) CheckBox and applies it to the new one?</p>
  
  <p>Why does it only save the state of the Checkbox (Not of TextViews??)</p>
  
  <p>So to sum it up: How does <code>onViewStateRestored</code> work?</p>
  
  <p>Note I'm using Fragmentv4, so no API > 17 required for <code>onViewStateRestored</code></p>