You are using startActivity for result if you want to return the result of the selection from the list to your MainActivity. StartActivity for result enables you to pass the value that was selected from the list back to the main Activity.
At the moment that the value is handled in the onListItemClick the value is only known to your spawned ListActivity. To pass it back you would use setResult(int, Intent) like this:
Intent resultIntent = new Intent;
resultIntent.putExtra(CONSTANT_FOR_RESULT, selection);
setResult(CONSTANT_FOR_SUCCESS, resultIntent)
finish();
This will have your app return to the first activity and as explained in the android documentation onActivityResult will be called. Now you can extract the selection out of the intent and use it in your main activity.
You only need this mechanism if you want to pass a selection made in Activity B back to Activity A.