单击上一个抽屉项目的特定片段时如何打开下一个抽屉

舒巴姆·沙玛(Shubham Sharma)

在我的应用程序中,我想在android的导航抽屉的上一个抽屉中单击导航栏项时打开新的抽屉。就像现在我有mainactivity.java,并且该活动涉及到片段。现在我想要的是,当我单击mainactivity.java抽屉项目中的任何项目时,它必须在项目中打开另一个具有不同值的抽屉,我正在附加我的mainActivity.java代码

public class MainActivity extends AppCompatActivity{
    DrawerLayout mDrawerLayout;
    NavigationView mNavigationView;
    FragmentManager mFragmentManager;
    FragmentTransaction mFragmentTransaction;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_coordinator);

        /**
         *Setup the DrawerLayout and NavigationView
         */

             mDrawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
             mNavigationView = (NavigationView) findViewById(R.id.shitstuff) ;

        /**
         * Lets inflate the very first fragment
         * Here , we are inflating the TabFragment as the first Fragment
         */

             mFragmentManager = getSupportFragmentManager();
             mFragmentTransaction = mFragmentManager.beginTransaction();
             mFragmentTransaction.replace(R.id.containerView,new TabFragment()).commit();
        /**
         * Setup click events on the Navigation View Items.
         */

             mNavigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
             @Override
             public boolean onNavigationItemSelected(MenuItem menuItem) {
                mDrawerLayout.closeDrawers();



                 if (menuItem.getItemId() == R.id.nav_item_home) {
                     FragmentTransaction fragmentTransaction = mFragmentManager.beginTransaction();
                     fragmentTransaction.replace(R.id.containerView,new coordinatorPanelFragment()).commit();

                 }


                 if (menuItem.getItemId() == R.id.nav_item_fllclass) {
                    FragmentTransaction xfragmentTransaction = mFragmentManager.beginTransaction();
                    xfragmentTransaction.replace(R.id.containerView,new fillClassFragment()).commit();
                }
///

                 if (menuItem.getItemId() == R.id.nav_item_fillstudent) {
                     FragmentTransaction fragmentTransaction = mFragmentManager.beginTransaction();
                     fragmentTransaction.replace(R.id.containerView,new fillStudentFragment()).commit();

                 }


                 if (menuItem.getItemId() == R.id.nav_item_fillschedule) {
                    FragmentTransaction xfragmentTransaction = mFragmentManager.beginTransaction();
                    xfragmentTransaction.replace(R.id.containerView,new fillscheduleFragment()).commit();
                }


                 if (menuItem.getItemId() == R.id.nav_item_seebunk) {
                    FragmentTransaction xfragmentTransaction = mFragmentManager.beginTransaction();
                    xfragmentTransaction.replace(R.id.containerView,new seeBunkedStudentFragment()).commit();
                }

                 if (menuItem.getItemId() == R.id.nav_item_cus) {
                     FragmentTransaction xfragmentTransaction = mFragmentManager.beginTransaction();
                     xfragmentTransaction.replace(R.id.containerView,new ContactusFragment()).commit();
                 }

                 if (menuItem.getItemId() == R.id.nav_item_help) {
                     FragmentTransaction xfragmentTransaction = mFragmentManager.beginTransaction();
                     xfragmentTransaction.replace(R.id.containerView,new helpCoorFragment()).commit();
                 }





                 return false;
            }

        });

        /**
         * Setup Drawer Toggle of the Toolbar
         */

                android.support.v7.widget.Toolbar toolbar = (android.support.v7.widget.Toolbar) findViewById(R.id.toolbar);
                ActionBarDrawerToggle mDrawerToggle = new ActionBarDrawerToggle(this,mDrawerLayout, toolbar,R.string.app_name,
                R.string.app_name);

                mDrawerLayout.setDrawerListener(mDrawerToggle);

                mDrawerToggle.syncState();

    }

这些是我用6个物品制作一个抽屉的代码,现在我希望当我单击任何项​​目时,它必须打开该垂直碎片的特定抽屉,我已经在google上搜索但未找到答案。它与google的应用程序相同驾驶 。

用户名

只要看这些例子,我希望它们能为您解决问题。http://www.androidhive.info/2013/11/android-sliding-menu-using-navigation-drawer/

这是使用导航抽屉的Android滑动菜单教程。所需的代码是我粘贴在这里:-

private class SlideMenuClickListener implements
            ListView.OnItemClickListener {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {
            // display view for selected nav drawer item
            displayView(position);
        }
    }

     /**
     * Diplaying fragment view for selected nav drawer list item
     * */
    private void displayView(int position) {
        // update the main content by replacing fragments
        Fragment fragment = null;
        switch (position) {
        case 0:
            fragment = new HomeFragment();
            break;
        case 1:
            fragment = new FindPeopleFragment();
            break;
        case 2:
            fragment = new PhotosFragment();
            break;
        case 3:
            fragment = new CommunityFragment();
            break;
        case 4:
            fragment = new PagesFragment();
            break;
        case 5:
            fragment = new WhatsHotFragment();
            break;

        default:
            break;
        }

        if (fragment != null) {
            FragmentManager fragmentManager = getFragmentManager();
            fragmentManager.beginTransaction()
                    .replace(R.id.frame_container, fragment).commit();

            // update selected item and title, then close the drawer
            mDrawerList.setItemChecked(position, true);
            mDrawerList.setSelection(position);
            setTitle(navMenuTitles[position]);
            mDrawerLayout.closeDrawer(mDrawerList);
        } else {
            // error in creating fragment
            Log.e("MainActivity", "Error in creating fragment");
        }
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在打开下一个抽屉之前先关闭上一个抽屉-Twitter bootstrap 3

当用户打开下一个片段时如何停止 CountDownTimer 计数?

如何在单击按钮时从微调器中获取下一个/上一个项目?

获取列表中给定项目的上一个/下一个项目

在VIM中打开下一个文件

如何获取OwlCarousel2中上一个和下一个项目的索引?

关闭上一个主行时,如何选择并打开下一个主行明细行?

单击事件上的下一个子菜单时如何关闭上一个打开的子菜单

当我在JavaScript上单击下一个和上一个时,如何设置数组的顺序?

通过单击上一个或下一个打开工具提示器,无需专门单击目标

如果上一个内容Div已打开,请关闭它并打开下一个(普通JavaScript)

基于下一个和上一个项目的MySQL查询订单项目

跳至下一个活动时如何销毁上一个活动

ExpandableListview-单击另一个项目时,如何关闭上一个打开的项目?

根据与上一个和下一个项目的关系进行迭代时从列表中删除项目

我有一个导航抽屉,想打开另一个孤立的片段

单击下一个/上一个时,滑块会跳过一张幻灯片

单击下一个按钮时如何显示数组中剩余的项目集?

单击按钮滑动到下一个片段

单击下一个和上一个后,如何使此滑块显示2个引号

单击下一个或上一个按钮时多次刷新页面

单击幻灯片上的下一个或上一个按钮时创建新的间隔

当我单击“下一个/上一个”按钮时,jQuery DatePicker消失

单击上一个和下一个按钮时,react.js 中的卡片转换

nivo-lightbox插件幻灯片在单击下一个或上一个图像时

单击角度 2 中的上一个和下一个按钮时的下拉值更改

单击上一个和下一个按钮时,FullCalendar进入议程视图

使用React Hooks单击上一个/下一个按钮时在div之间切换

按下上一个和下一个按钮时,模拟元素列表中的元素单击