在MainActivity中,我有以下方法启动片段。
@Override
public void onNavigationItemSelected(MenuItem item) {
int id = item.id;
Fragment fragmentToShow = null;
if (id != 1){
fragmentToShow = MoviesFragment.newIstance(item);
}
if (fragmentToShow != null){
launchFragment(fragmentToShow, null);
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(Gravity.LEFT);
}
如果单击id = 1的元素,则应用程序必须打开主要活动,但它不是片段:我该怎么做?
谢谢你们的帮助,我是一个试图学习的初学者:肯定会很容易解决这个问题
答案 0 :(得分:0)
此方法" onNavigationItemSelected"从哪里被召唤?
据我所知,这个方法来自Fragment,你希望回到MainActivity,对吧?
当你说" MainActivity"意味着它是启动活动然后您可以使用onBackPressed转到上一个活动。
getActivity()onBackPressed();
如果这不是问题,请补充更多详情。这会有所帮助:)
答案 1 :(得分:0)
这就是你需要的
@Override
public void onNavigationItemSelected(MenuItem item) {
int id = item.id;
if (id == 1) {
Intent intent = new Intent(getcontext(), MainActivity.class);
startactivity(intent);
return;
}
Fragment fragmentToShow = null;
if (id != 1){
fragmentToShow = MoviesFragment.newIstance(item);
}
if (fragmentToShow != null){
launchFragment(fragmentToShow, null);
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(Gravity.LEFT);
}