যখন ইউজার ড্রয়ারের লিস্টেও একটি আইটেম নির্বাচন করে, সিস্টেমটি OnItemClickListener এ OnItemClick() কল করে OnItemClickListener()এ প্রদান করে।
কীভাবে আপনি আপনার app structure বাস্তবায়ন করছেন তার উপর নির্ভর করছে আপনি onItemClick()এ কী করবেন। নিচের উদাহরণটিতে, লিস্টে প্রতিটা আইটেম নির্বাচন করা প্রধান কনটেন্ট ভিউয়ের মধ্যে একটি ভিন্ন Fragment প্রবেশ করায় (FrameLayout এলিমেন্ট R.id.content_frame ID দ্বারা চিহ্নিত ):
private class DrawerItemClickListener implements ListView.OnItemClickListener {
@Override
public void onItemClick(AdapterView parent, View view, int position, long id) {
selectItem(position);
}
}
/** Swaps fragments in the main content view */
private void selectItem(int position) {
// Create a new fragment and specify the planet to show based on position
Fragment fragment = new PlanetFragment();
Bundle args = new Bundle();
args.putInt(PlanetFragment.ARG_PLANET_NUMBER, position);
fragment.setArguments(args);
// Insert the fragment by replacing any existing fragment
FragmentManager fragmentManager = 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);
}
@Override
public void setTitle(CharSequence title) {
mTitle = title;
getActionBar().setTitle(mTitle);
}