Android: Navigation-Tiroir sur toutes les activités

Je veux ajouter un tiroir de navigation sur toutes les actvités de mon projet Android. C'est le code de la MainActivity:

public class MainActivity extends Activity {
private String[] drawerListViewItems;
private DrawerLayout drawerLayout;
private ListView drawerListView;
private ActionBarDrawerToggle actionBarDrawerToggle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//get list items from strings.xml
drawerListViewItems = getResources().getStringArray(R.array.items);
//get ListView defined in activity_main.xml
drawerListView = (ListView) findViewById(R.id.left_drawer);
//Set the adapter for the list view
drawerListView.setAdapter(new ArrayAdapter<String>(this,
R.layout.drawer_listview_item, drawerListViewItems));
//App Icon 
drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
//drawerLayout = (DrawerLayout) findViewById(R.drawable.ic_drawer_2);
actionBarDrawerToggle = new ActionBarDrawerToggle(
this,                  /* host Activity */
drawerLayout,         /* DrawerLayout object */
R.drawable.ic_drawer,  /* nav drawer icon to replace 'Up' caret */
R.string.drawer_open,  /* "open drawer" description */
R.string.drawer_close  /* "close drawer" description */
);
//Set actionBarDrawerToggle as the DrawerListener
drawerLayout.setDrawerListener(actionBarDrawerToggle);
getActionBar().setDisplayHomeAsUpEnabled(true); 
//just styling option add shadow the right edge of the drawer
drawerLayout.setDrawerShadow(R.drawable.ic_drawer, GravityCompat.START);
drawerListView.setOnItemClickListener(new DrawerItemClickListener());
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
//Sync the toggle state after onRestoreInstanceState has occurred.
actionBarDrawerToggle.syncState();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
actionBarDrawerToggle.onConfigurationChanged(newConfig);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
//call ActionBarDrawerToggle.onOptionsItemSelected(), if it returns true
//then it has handled the app icon touch event
if (actionBarDrawerToggle.onOptionsItemSelected(item)) {
return true;
}
return super.onOptionsItemSelected(item);
}
private class DrawerItemClickListener implements ListView.OnItemClickListener {
@Override
public void onItemClick(AdapterView parent, View view, int position, long id) {
displayView(position);
drawerLayout.closeDrawer(drawerListView);
}
private void displayView(int position) 
{
switch (position) 
{
case 0:
secondactivity();
break;
case 1:
Toast.makeText(MainActivity.this, "2", Toast.LENGTH_LONG).show();
break;
case 2:
Toast.makeText(MainActivity.this, "3", Toast.LENGTH_LONG).show();
default:
break;
}
}
}
public void secondactivity (){
Intent cambioActivity;
cambioActivity = new Intent (this, SecondActivity.class);
startActivity(cambioActivity);
}
}

Dans ce code, je l'ai créer la navigation tiroir, je veux le tiroir de navigation sur toutes les activités, de sorte que ma Deuxième Activité code est: est-ce

public class SecondActivity extends MainActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_secondactivity);
}

La navigation tiroir est sur la première activité, mais il n'y en a pas sur les autres activités, pourquoi? Quelqu'un peut-il m'aider?

Regardez la google io calendrier d'application du code source
MainActivity est remplacé avec d'autres activités. Utilisation Framelayout et de fragments, ce qui devrait résoudre votre problème
Avez-vous défini dans l'arrêt R. id.left_drawer activity_secondactivity.xml? Aussi, vous devez seulement appeler setContentView une fois
R. layout.activity_secondactivity devriez avoir votre tiroir dans sa mise en page.

OriginalL'auteur user3582433 | 2015-02-23