developer.android.com 웹 사이트 의 자습서에 표시된 것처럼 작동하는 탐색 드로어를 작성했습니다 . 그러나 이제 내 응용 프로그램의 여러 활동을 위해 NavigationDrawer.class에서 만든 하나의 Navigation Drawer를 사용하고 싶습니다.
내 질문은, 여기 누군가가 작은 튜토리얼을 만들 수 있다면, 여러 활동에 하나의 탐색 서랍을 사용하는 방법을 설명합니다.
여러 활동에 대한 이 Answer Android Navigation Drawer에서 처음 읽었습니다.
하지만 내 프로젝트에서 작동하지 않았습니다.
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);
}
}
이 활동에서 나는 탐색 서랍을 갖고 싶어서 'NavigationDrawer'를 확장하고 다른 활동에서는 동일한 탐색 서랍을 사용하려고합니다.
public class SampleActivity extends NavigationDrawer {...}
무엇을 바꿔야할지 모르겠습니다 ...