如何从活动中导航到NavigationDrawer中的特定片段



我的问题是我使用的是带有多个片段的导航图。我有一个活动。我正在尝试从活动返回到特定的片段。我试图发送意图。它起作用,但由于捆绑值的值并非零,它总是留在该片段中。因此,如果您有办法将捆绑套件做出方法,或者您的解决方案要比意图更好,我将感激不尽。谢谢,全部。

此方法能够切换片段

public void DisplaySelectedScreen(int id) {
        infoNom = this.getIntent().getExtras();
        if (infoNom != null) {
            id = Integer.valueOf(infoNom.getString("Fragment"));
        }
        infoNom = null ; //not Working
        Fragment fragment = null;
        switch (id) {
            case R.id.nav_home:
                fragment = new Home();
                break;
            case R.id.nav_info:
                fragment = new Informations();
                break;
            case R.id.nav_cmd:
                fragment = new Commandes();
                break;
            case R.id.nav_panier:
                fragment = new Cart();
                break;
            case R.id.nav_contact:
                fragment = new Contact();
                break;
            case R.id.nav_about_us:
                fragment = new About_Us();
                break;
            case R.id.nav_logout:
                ParseUser.logOut();
                Intent intent = new Intent(Main.this, Welcome.class);
                startActivity(intent);
                break;
        }
        if (fragment != null) {
            FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
            ft.replace(R.id.content_frame, fragment);
            ft.commit();
        }
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        drawer.closeDrawer(GravityCompat.START);
    }

您可以使用以下方法清除捆绑包:

getIntent().removeExtra("key"); 

希望它能帮助您!

替换Extras

的方法

void removeextra(字符串名称(从意图中删除扩展数据。

void remove flags(int标志(从意图中删除这些标志。

Intent替换Extextras(Intent SRC(用给定的意图中的额外物完全替换意图中的额外功能。

意图替换Extextras(捆绑额外(用给定的额外束完全替换意图中的附加功能。

希望这有帮助

最新更新