如何在打开相应片段时隐藏导航抽屉项目

时间:2016-05-30 12:54:10

标签: android navigation-drawer

在我的应用程序中,我使用了导航抽屉。在这里我列出了所有项目。

从图像中,项目是,

  • 主页
  • 过滤器&排序
  • 愿望清单中
  • 商店
  • MyOrder
  • 设置
  • 注销

如果我在 购物 的片段中,我需要隐藏它。怎么做?

请帮帮我。

enter image description here

4 个答案:

答案 0 :(得分:2)

您可以使用片段onAttach方法处理它。根据您的需要设置特定项目的可见性。

@Override
public void onAttach(Context context) {
    super.onAttach(context);
    YourActivity activity = (YourActivity)context;
    NavigationView navigationView = (NavigationView) activity.findViewById(R.id.yournavigationviewid);
    navigationView.getMenu().findItem(R.id.youritemid).setVisible(false);
}

答案 1 :(得分:1)

在你获得所选menuItem的setNavigationItemSelectedListener中,你可以实现代码。您还需要存储隐藏菜单项的实例以使其在以后可见

{{1}}

答案 2 :(得分:0)

在你的公共onNavigationItemSelected(MenuItem项目)中,如果你设置一个片段,那么自动抽屉将隐藏。我是这样做的:

<form id="myform" action="action.php">
    <inpu type="text" name="text" />
    <inpu type="text" name="numbers[]" />
    <inpu type="text" name="numbers[]" />
    <inpu type="text" name="numbers[]" />
    ..
</form>

根据您的要求设置片段。

答案 3 :(得分:0)

您可以使用mDrawerLayout.closeDrawers()监听器中的onNavigationItemSelected隐藏抽屉,如下所示:

    mNavigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(MenuItem menuItem) {
                menuItem.setChecked(true);
                switch (menuItem.getItemId()) {
                    case R.id.navigation_item_shop:
                        //do your stuffs or attach fragment
                        mDrawerLayout.closeDrawers();
                        return true;
                    default:
                        return true;
               }
         }
   }