zoukankan      html  css  js  c++  java
  • 动态修改ActionBar Menu的显示

    应用场景:

    在主Activity中,采用InstrumentedActivity侧边栏的方式,侧边栏的每一项对应一个Fragment,要实现不同的Fragment动态显示与隐藏ActionBar Menu。

    处理思路:

    在onCreateOptionsMenu()方法中,根据标识flag动态设置MenuItem的显示与隐藏,在切换Fragment 的地方调用:invalidateOptionsMenu()方法重新加载Menu。

    @Override
        public boolean onPrepareOptionsMenu(Menu menu) {
            return super.onPrepareOptionsMenu(menu);
        }
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.czsm_content, menu);
            MenuItem mi = menu.findItem(R.id.action_czsm);
            if(isShowInfoFlag){
                mi.setVisible(true);
            }else{
                mi.setVisible(false);
            }
            return super.onCreateOptionsMenu(menu);
        }
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            if(isShowInfoFlag && !isCheckedCur){
                switch(item.getItemId()){
                case R.id.action_czsm:
                    Fragment fragment = null;
                    ft = fm.beginTransaction();
                    fragment = new  CzsmFragment();
                    isCheckedCur = true;//表示当前点击过了
                    ft.replace(R.id.content_frame, fragment);
                    ft.commit();
                    break;
                }
            }
            
            if (mDrawerToggle.onOptionsItemSelected(item)) {
                return true;
            }
            
            return super.onOptionsItemSelected(item);
        }
  • 相关阅读:
    一个java点菜程序
    团队成员
    CentOS tomcat普通用户执行配置安装
    varnish的监控和调试
    组播协议和组播路由
    AVAYA加外线DID,30B+D
    vi技巧
    CentOS开启Telnet服务
    juniper 虚拟路由
    DOS批处理下操作telnet实现自动远程登录操作
  • 原文地址:https://www.cnblogs.com/yshyee/p/4073976.html
Copyright © 2011-2022 走看看