title: SenchaTouch2: How to determine whether the show event is fired because a view is actually shown
body: <p>In a sencha touch 2 <code>Ext.navigation.View</code>, it is possible to <code>push()</code> and <code>pop()</code> other views in and out. Those other views fire events like <code>hide</code> and <code>show</code>.Sadly, those events are fired in this order when pushing: (note the bold ones)</p>
  
  <ol>
  <li>initialize</li>
  <li><strong>hide</strong></li>
  <li>activate</li>
  <li>show</li>
  </ol>
  
  <p>and like this when popping:</p>
  
  <ol>
  <li>deactivate</li>
  <li>hide</li>
  <li><strong>show</strong></li>
  <li>remove</li>
  <li>destroy</li>
  </ol>
  
  <p>So relying on either <code>show</code> or <code>hide</code> event is not the best idea as both get fired in both situations.<br>
  I consider this a bug and something similar has already been <a href="http://www.sencha.com/forum/showthread.php?180885-BETA2-Show-and-Hide-events-when-pushing-and-popping-views-fire-unexpectedly" rel="nofollow">discussed</a>. Nevertheless this behaviour is still present in the version I use (ST 2.0.1.1) and according to the explanation of @rdougan in the forum:</p>
  
  <blockquote>
    <p>The reason behind this is that when an item is removed from a card
    layout, it may actually be shown somewhere else - or perhaps it is
    changing to be floatable. So we must revert the item back to its
    original visible state.</p>
  </blockquote>
  
  <p>it won't be changed as well. So I was trying to find out which event is <strong>really</strong> happening.</p>