Unpredictable behavior onStart() onPause() and onResume()
<p>I have break points setup on the super's of onStart, onPause, and onResume in multiple
activities. I want to handle the back button being pressed and instead of going back to the main activity I am trying to get my program to goto the last activity before the back button.</p>

<p>When playing around in debug mode and following these three functions calls I am finding that they are unpredictable. When a choice is made to advance to another activity the activity I was in has its onResume() called where I thought onPause() would be called and after onResume(), onStop() is called.</p>

<p>What am I doing wrong here?</p>

<pre><code>  &lt;application android:icon="@drawable/icon" android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
&gt;
    &lt;activity android:name=".SplashScreen"
              android:label="@string/app_name"&gt;
        &lt;intent-filter&gt;
            &lt;action android:name="android.intent.action.MAIN" android:configChanges="keyboardHidden|orientation"/&gt;
            &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
        &lt;/intent-filter&gt;
    &lt;/activity&gt;
    &lt;activity android:name=".MainActivity"
    android:label="@string/app_name" android:configChanges="keyboardHidden|orientation"/&gt;
    &lt;activity android:name=".CountrySelection"  android:label="@string/app_name" android:configChanges="keyboardHidden|orientation"/&gt;
    &lt;activity android:name=".StateSelection"  android:label="@string/app_name" android:configChanges="keyboardHidden|orientation"/&gt;
    &lt;activity android:name=".CitySelection"  android:label="@string/app_name" android:configChanges="keyboardHidden|orientation"/&gt;
    &lt;activity android:name=".CategorySelection"  android:label="@string/app_name" android:configChanges="keyboardHidden|orientation"/&gt;
    &lt;activity android:name=".SubCategorySelection"  android:label="@string/app_name" android:configChanges="keyboardHidden|orientation"/&gt;
    &lt;activity android:name=".DisplayAdsActivity"  android:label="@string/app_name" android:configChanges="keyboardHidden|orientation"/&gt;
    &lt;activity android:name=".DisplayAdActivity"  android:label="@string/app_name" android:configChanges="keyboardHidden|orientation"/&gt;
    &lt;activity android:name=".SavedAdsActivity" android:label="@string/app_name" android:configChanges="keyboardHidden|orientation"/&gt;

&lt;/application&gt;

    case R.id.locationbutton:{

            Intent i = new Intent();
            i.putExtra("Locations",continents);
            i.setClass(this,CountrySelection.class);
            startActivityForResult(i,LOCATION_REQUEST_CODE);
            break;

        }

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    // TODO Auto-generated method stub
    //super.onListItemClick(l, v, position, id);
    Intent i = new Intent();
    location = position;
    i.putExtra("States",continents.get(position).getStates());
    i.setClass(this, StateSelection.class);
    startActivityForResult(i,0);


}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    // TODO Auto-generated method stub
    //super.onListItemClick(l, v, position, id);
    Intent i = new Intent();
    i.putExtra("Cities",states.get(position).getCounties());
    i.setClass(this, CitySelection.class);
    startActivityForResult(i,0);

}
</code></pre>
