我想实现一个材质导航抽屉。像这样https://github.com/kanytu/android-material-drawer-template。在导航抽屉中导航错误?
我有两个问题。
1.我在main Activity
中声明onNavigationDrawerItemSelected
方法中的所有意图。如果我的主要活动是针对另一项活动,如FeedActivity
。那么我是否必须在我的feedActivity
中声明不同的onNavigationDrawerItemSelected
方法。
2.当我通过onNavigationDrawerItemSelected
方法MainActivity
意图。该应用程序无法正常工作。
public class MainActivity extends ActionBarActivity implements NavigationDrawerCallbacks{
private Toolbar mToolbar;
private NavigationDrawerFragment mNavigationDrawerFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayShowHomeEnabled(true);
mNavigationDrawerFragment = (NavigationDrawerFragment) getFragmentManager().findFragmentById(R.id.fragment_drawer);
mNavigationDrawerFragment.setup(R.id.fragment_drawer, (DrawerLayout) findViewById(R.id.drawer), mToolbar);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public void onNavigationDrawerItemSelected(int position) {
if (position == 1){
startActivity(new Intent(this, FeedListActivity.class));
}else if (position == 2){
startActivity(new Intent(this, VideoActivity.class));
}
}
}
EDIT 。如果我在上述方法中通过这下面的代码。该应用程序不会FeedActivity。它再次打开主要活动。当我按列表中的第一项。
if (position == 0){
startActivity(new Intent(this, MainActivity.class));
如果问题不清楚,对不起。 在此先感谢。
在问题#2中,请说明您的应用程序无法正常工作,并且应用程序的工作方式不同......当您使用底部的代码进行替换时。你是否收到错误(什么错误),是否错误的活动开始? etc ... – NameSpace 2014-11-08 15:05:04
如果您要在多个活动中使用导航抽屉,那么您必须在其中的每个方法中实施方法。例如,在这种情况下,最好使用片段而不是各种活动。我不明白第二个问题。请澄清 – mobilepotato7 2014-11-08 15:11:53
@Namespace查看编辑... – user3467240 2014-11-08 15:12:18