繁体   English   中英

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

[英]How to navigate to Specific Fragment in NavigationDrawer from an Activity

我的问题是我正在将NavigationDrawer与多个片段一起使用。 我有一个活动。 我正在尝试从活动返回到“特定片段”。 我试图发送一个意图。 它可以工作,但是由于bundle的值不为null,它始终停留在该片段中。 因此,如果您有办法使捆绑商品为空,或者您有一个比意图更好的解决方案,我将不胜感激。 谢谢大家

该方法能够切换片段

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"); 

希望对您有帮助!

替换额外物品的方法

void removeExtra(String name)从意图中删除扩展数据。

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

Intent replaceExtras(Intent src)用给定Intent中的附加功能完全替换Intent中的附加功能。

Intent replaceExtras(Bundle extras)用给定的Extras捆绑包完全替换Intent中的Extras。

希望这可以帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM