OnClick for navigationDrawer not loading new fragments

后端 未结 1 1579
温柔的废话
温柔的废话 2021-01-27 02:55

I have been trying to create a navigationDrawer for my project. I have been following this review here:

http://www.androidhive.info/2013/11/android-sliding-menu-using-na

相关标签:
1条回答
  • 2021-01-27 03:39

    You are missing

    mDrawerList.setOnItemClickListener(new SlideMenuClickListener());
    

    and

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

    and

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

    from the link you provided.

    If you don't have a click listener how do you expect it to work?

    0 讨论(0)
提交回复
热议问题