
Android-. - (Activity), - (Fragment) / (Custom View).
« — ». , . , .
Android, , . , , 
GitHub.
Activity
Android-, , (, ), , , «». (back stack). :

A1 ( - ), A2 A3. 
startActivityForResult(), , -.
, :
- .
- AndroidManifest.xml.
- startActivity().
, . , 
. : , , .
, , 
. API level 11 …
Google, « Android 3.0 (API level 11) , , , . , , . . , , ».
, , . - , 
- . , , , , , , , .
, , , . , , . . , , . :

1 F1? , 1 F1, . , 1 F1 - (bundle), .
F1 1? , callback/observer, 1 F1, .
, 1 2? , , 
startActivityForResult().
: F1 F2? , -, . . , F2 F1 - . callback- F2 2, - , 1 F1.
, , . , , ?
, , (
 1, 
2). .

, . , . 
FragmentManager, . , 
startActivityForResult(), callback/observer. .
:
1. AndroidManifest.xml
, . , . , , , .
-, . :
<?xml version="1.0" encoding="utf-8"?>
   package="com.exarlabs.android.fragmentnavigationdemo.ui" >
   <application android:name= ".FragmentNavigationDemoApplication"
       android:allowBackup="true"
       android:icon="@mipmap/ic_launcher"
       android:label="@string/app_name"
       android:supportsRtl="true"
       android:theme="@style/AppTheme">
       <activity
           android:name="com.exarlabs.android.fragmentnavigationdemo.ui.MainActivity"
           android:label="@string/app_name"
           android:screenOrientation="portrait"
           android:theme="@style/AppTheme.NoActionBar" >
           <intent-filter>
               <action android:name="android.intent.action.MAIN" />
               <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
       </activity>
   </application>
</manifest>
2.
, , 
NavigationManager. . , .. - .
, , . , , .
:
Intent intent = new Intent();
intent.putExtra("age", 40);
intent.putExtra("occupation", "developer");
intent.putExtra("gender", "female");
startActivityForResult(intent, 100);
onActivityResult :
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
}
, — «» . , , . , - , , , , .
, , ( ) _List_, , .
, . 
NavigationManager startPersonSelectorFragment() callback'.
mNavigationManager.startPersonSelectorFragment(40, "developer", "female",
      new PersonSelectorFragment.OnPersonSelectedListener() {
          @Override
          public boolean onPersonsSelected(List<Person> selection) {
       [do something]
              return false;
          }
      });
RetroLambda:
mNavigationManager.startPersonSelectorFragment(40, "developer", "female", selection -> [do something]);
3.
, . callback-, F1, , F2 . callback', _List_.
4.
(drawer), , .
, «» (inflate) , .
(FR*), . , , . — .

, . , 
«» . , ? -, .
, - , , , . , ?
, , 
, , , 
ShinobiControls, 
ViewPagers FragmentStatePagerAdapters.
, , . , , . , .
, , , , .
Android-. , , «».
, -, 
GitHub. .