0

例如,我有一个导航抽屉,我希望能够通过单击其中的项目直接导航到抽屉。这是我的代码。

    mDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            // TODO Auto-generated method stub
            //What do I put here??

        }


    });

我应该放什么,这样当用户点击导航抽屉中的某些东西时,应用程序会直接跳转到选定的片段?

谢谢!

编辑:我想我设法解决了这个问题,但由于我的应用程序使用 ViewPager 浏览片段,我只使用

    mDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            // TODO Auto-generated method stub

            viewPager.setCurrentItem(arg2);
                // Close drawer

        }


    });

那行得通!

4

1 回答 1

1

在 OnItemClick 中尝试以下代码:

    FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
    // Locate Position
    switch (arg2) {
    case 0:
        ft.replace(R.id.content_frame, yourFragment1);
        break;
    case 1:
        ft.replace(R.id.content_frame, yourFragment2);
        break;
    case 2:
        ft.replace(R.id.content_frame, yourFragment3);
        break;
           // etc add more code if you want//
    }
    /* Commit fragment */
    ft.commit();
    mDrawerList.setItemChecked(position, true);
    // Close drawer
    mDrawerLayout.closeDrawer(mDrawerList);
于 2013-09-02T10:53:30.063 回答