Skip to content Skip to sidebar Skip to footer

Draweritemclicklistener Cannot Be Resolved To A Type

I'm in the process of setting up a DrawerItemClickListener however I'm getting an error stating: DrawerItemClickListener cannot be resolved to a type even though I declare the me

Solution 1:

You need to create class DrawerItemClickListener implements ListView.OnItemClickListener Full example and explanation in Android docs https://developer.android.com/training/implementing-navigation/nav-drawer.html#ListItemClicks

the fragment from it:

privateclassDrawerItemClickListenerimplementsListView.OnItemClickListener {
    @OverridepublicvoidonItemClick(AdapterView parent, View view, int position, long id) {
        selectItem(position);
    }
}

/** Swaps fragments in the main content view */privatevoidselectItem(int position) {
    // Create a new fragment and specify the planet to show based on positionFragmentfragment=newPlanetFragment();
    Bundleargs=newBundle();
    args.putInt(PlanetFragment.ARG_PLANET_NUMBER, position);
    fragment.setArguments(args);

    // Insert the fragment by replacing any existing fragmentFragmentManagerfragmentManager= getFragmentManager();
    fragmentManager.beginTransaction()
                   .replace(R.id.content_frame, fragment)
                   .commit();

    // Highlight the selected item, update the title, and close the drawer
    mDrawerList.setItemChecked(position, true);
    setTitle(mPlanetTitles[position]);
    mDrawerLayout.closeDrawer(mDrawerList);
}

Solution 2:

Move the DrawerItemClickListener class out of the ImagePagerAdapter class as at present it is not visible.

Solution 3:

Your listener object is defined inside ImagePagerAdapter class, it won't be accessible in its parent class.

You can move DrawerItemClickListener to its parent class, then it should be accessible:

privatevoid_initMenu() {

        drawerListView.setOnItemClickListener(newDrawerItemClickListener());
  }

  privateclassDrawerItemClickListenerimplementsListView.OnItemClickListener {

        @OverridepublicvoidonItemClick(AdapterView parent, View view, int position, long id) {
           // do your thing
        }
  }

Post a Comment for "Draweritemclicklistener Cannot Be Resolved To A Type"