Ich habe eine funktionierende Navigationsschublade erstellt, wie sie im Tutorial auf der Website developer.android.com gezeigt wird . Aber jetzt möchte ich eine Navigationsschublade verwenden, die ich in der NavigationDrawer.class für mehrere Aktivitäten in meiner Anwendung erstellt habe.
Meine Frage ist, ob jemand hier ein kleines Tutorial erstellen kann, in dem erklärt wird, wie eine Navigationsschublade für mehrere Aktivitäten verwendet wird.
Ich habe es zuerst in dieser Antwort Android Navigation Drawer über mehrere Aktivitäten gelesen
aber es hat bei meinem Projekt nicht funktioniert
public class NavigationDrawer extends Activity {
public DrawerLayout drawerLayout;
public ListView drawerList;
private ActionBarDrawerToggle drawerToggle;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
drawerToggle = new ActionBarDrawerToggle((Activity) this, drawerLayout, R.drawable.ic_drawer, 0, 0) {
public void onDrawerClosed(View view) {
getActionBar().setTitle(R.string.app_name);
}
public void onDrawerOpened(View drawerView) {
getActionBar().setTitle(R.string.menu);
}
};
drawerLayout.setDrawerListener(drawerToggle);
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeButtonEnabled(true);
layers = getResources().getStringArray(R.array.layers_array);
drawerList = (ListView) findViewById(R.id.left_drawer);
View header = getLayoutInflater().inflate(R.layout.drawer_list_header, null);
drawerList.addHeaderView(header, null, false);
drawerList.setAdapter(new ArrayAdapter<String>(this, R.layout.drawer_list_item, android.R.id.text1,
layers));
View footerView = ((LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(
R.layout.drawer_list_footer, null, false);
drawerList.addFooterView(footerView);
drawerList.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int pos, long arg3) {
map.drawerClickEvent(pos);
}
});
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (drawerToggle.onOptionsItemSelected(item)) {
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
drawerToggle.syncState();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
drawerToggle.onConfigurationChanged(newConfig);
}
}
In dieser Aktivität möchte ich die Navigationsschublade haben, also erweitere ich 'NavigationDrawer' und in einigen anderen Aktivitäten möchte ich dieselbe Navigationsschublade verwenden
public class SampleActivity extends NavigationDrawer {...}
Ich weiß nicht, was ich ändern soll ...