title: The definitive list of Android lifecycle calls requiring super.method()
body: <p>I'm trying to get a list of all Android lifecycle methods that require calling the superclass method.  There was a good list started in <a href="https://stackoverflow.com/questions/14532182/which-android-fragment-lifecycle-methods-require-super">another thread</a>.  I'm not asking because of an error in my code, but because I want a tool to detect this specific problem.</p>
  
  <p>To find the list, I searched the API 18 docs for the following strings:</p>
  
  <ul>
  <li>Derived classes must call through to the super class's</li>
  <li>if you override this method</li>
  <li>superclass</li>
  <li>SuperNotCalledException from platform sources</li>
  </ul>
  
  <p>I ended up with the following list. I removed derived classes that have the same message as the parent.  </p>
  
  <ul>
  <li>Application (MockApplicaition)
  
  <ul>
  <li>onCreate()</li>
  </ul></li>
  <li>Activity/ActivityGroup (Fragment/DialogFragment, ListActivity, TabActivity, LauncherActivity, NativeActivity, et. al)
  
  <ul>
  <li>onCreate(android.os.Bundle)</li>
  <li>onDestroy()</li>
  <li>onPause()</li>
  <li>onPostCreate(android.os.Bundle)</li>
  <li>onPostResume()</li>
  <li>onRestart()</li>
  <li>onResume()</li>
  <li>onStart()</li>
  <li>onStop() </li>
  <li>onConfigurationChanged(Configuration newConfig)</li>
  <li>onSaveInstanceState(android.os.Bundle) - Depends</li>
  <li>onRestoreInstanceState(android.os.Bundle) - Depends</li>
  <li>onActionModeStarted(android.view.ActionMode) - Recommended</li>
  <li>onActionModeFinished(android.view.ActionMode) - Recommended</li>
  <li>onPrepareDialog(int, android.app.Dialog, android.os.Bundle) - Recommended</li>
  </ul></li>
  <li>Fragment
  
  <ul>
  <li>onAttach(FragmentActivity)</li>
  <li>onDetach()</li>
  <li>onViewStateRestored(android.os.Bundle)</li>
  <li>onActivityCreated(Bundle) </li>
  <li>onDestroyView()</li>
  </ul></li>
  <li>Dialog (AlertDialog, DatePickerDialog, ProgressDialog, Presentation, et. al)
  
  <ul>
  <li>onActionModeStarted(android.view.ActionMode) - Recommended</li>
  <li>onActionModeFinished(android.view.ActionMode) - Recommended</li>
  </ul></li>
  <li>ViewPager
  
  <ul>
  <li>onPageScrolled(int, float, int)</li>
  <li>drawableStateChanged()</li>
  </ul></li>
  <li>View/ViewGroup (ListView, TextView, KeyboardView, et. al.)
  
  <ul>
  <li>onAnimationStart()</li>
  <li>onAnimationEnd()</li>
  <li>onMeasure(int, int) - Required to call setMeasuredDimension(int, int)</li>
  <li>draw(android.graphics.Canvas)</li>
  </ul></li>
  <li>Preference/PreferenceGroup (CheckBoxPreference, et. al.)
  
  <ul>
  <li>onBindView(android.view.View)</li>
  <li>onCreateView(android.view.ViewGroup)</li>
  <li>onPrepareForRemoval()</li>
  <li><strike>onCommonsWare()</strike></li>
  </ul></li>
  </ul>
  
  <p>Is this the definitive list?</p>
  
  <p><strong>EDIT</strong> Based on feedback from @CommonsWare, added methods that trigger SuperNotCalledException</p>