如何在调用片段的方法中调用MainActivity?

时间:2017-04-25 14:15:12

标签: android

在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的元素,则应用程序必须打开主要活动,但它不是片段:我该怎么做?

谢谢你们的帮助,我是一个试图学习的初学者:肯定会很容易解决这个问题

2 个答案:

答案 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);
}