我有一个导航抽屉。 调用事件时,我想为用户隐藏我的导航菜单项之一。 我怎样才能做到这一点?

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.sliding_menu);

if (android.os.Build.VERSION.SDK_INT > 9) {

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();

StrictMode.setThreadPolicy(policy);

}

mTitle = mDrawerTitle = getTitle();

// load slide menu items

navMenuTitles = getResources().getStringArray(R.array.nav_drawer_items);

// nav drawer icons from resources

navMenuIcons = getResources()

.obtainTypedArray(R.array.nav_drawer_icons);

mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout1);

mDrawerList = (ListView) findViewById(R.id.list_slidermenu1);

navDrawerItems = new ArrayList();

// adding nav drawer items to array

// Home

navDrawerItems.add(new NavDrawerItem(navMenuTitles[0], navMenuIcons.getResourceId(0, -1)));

// Profil

navDrawerItems.add(new NavDrawerItem(navMenuTitles[1], navMenuIcons.getResourceId(1, -1)));

// Prospek

navDrawerItems.add(new NavDrawerItem(navMenuTitles[2], navMenuIcons.getResourceId(2, -1)));

// Announcement

navDrawerItems.add(new NavDrawerItem(navMenuTitles[3], navMenuIcons.getResourceId(3, -1), true,

cariTotal("http://192.168.0.23/api/android/announcement/").toString()));

// Logout

navDrawerItems.add(new NavDrawerItem(navMenuTitles[4], navMenuIcons.getResourceId(4, -1)));

// Recycle the typed array

navMenuIcons.recycle();

//set event

mDrawerList.setOnItemClickListener(new SlideMenuClickListener());

// setting the nav drawer list adapter

adapter = new NavDrawerListAdapter(getApplicationContext(),

navDrawerItems);

mDrawerList.setAdapter(adapter);

// enabling action bar app icon and behaving it as toggle button

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

getSupportActionBar().setHomeButtonEnabled(true);

mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,

R.string.app_name,

R.string.app_name

){

public void onDrawerClosed(View view) {

getSupportActionBar().setTitle(mTitle);

// calling onPrepareOptionsMenu() to show action bar icons

invalidateOptionsMenu();

}

public void onDrawerOpened(View drawerView) {

getSupportActionBar().setTitle(mDrawerTitle);

//mDrawerList.bringToFront();

//mDrawerLayout.requestLayout();

// calling onPrepareOptionsMenu() to hide action bar icons

invalidateOptionsMenu();

}

};

mDrawerLayout.setDrawerListener(mDrawerToggle);

if (savedInstanceState == null) {

// on first time display view for first nav item

displayView(0);

}

}

private void displayView(int position) {

// update the main content by replacing fragments

android.app.Fragment fragment = null;

switch (position) {

case 0:

fragment = new HomeFragment();

break;

case 1:

fragment = new ProfilFragment();

break;

case 2:

fragment = new ProspekFragment();

break;

case 3:

fragment = new AnnouncementFragment();

break;

case 4:

Logout();

break;

default:

break;

}

if (fragment != null) {

android.app.FragmentManager fragmentManager = getFragmentManager();

fragmentManager.beginTransaction()

.replace(R.id.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("SlidingMenu", "Error in creating fragment");

}

}

我想将导航抽屉菜单项隐藏在索引2中。该怎么做?

更新我的导航抽屉中有5个菜单项,当某个事件被调用时,我想隐藏其中的一个。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐