• 创建menu的时候为什么要用Menu.FIRST常量?


    public class GoogleAndroidDevelop_menuActivity extends Activity {
        
        public static final int ITEM0 = Menu.FIRST;
        public static final int ITEM1 = Menu.FIRST + 1;
        
        Button button1;
        Button button2;
        
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            button1 = (Button) findViewById(R.id.bt1);
            button2 = (Button) findViewById(R.id.bt2);
            button1.setVisibility(View.INVISIBLE);
            button2.setVisibility(View.INVISIBLE);
        }
        
        @Override
        public boolean onCreateOptionsMenu(Menu menu){
            
            super.onCreateOptionsMenu(menu);
            
            menu.add(0, ITEM0, 0, "显示按钮一");
            menu.add(0, ITEM1, 1, "显示按钮二");
            //menu.findItem(ITEM1);  作用类似于 findViewById()
            //比如:你有3个menu选项 想得到第二个 就通过这个方法
            menu.findItem(ITEM1);
            return true;
        }
        
        public boolean onOptionsItemSelected(MenuItem item){
            
            switch(item.getItemId()){
            case ITEM0 :
                actionClickMenuItem1();
                break;
            case ITEM1 :
                actionClickMenuItem2();
                break;
            }
            return true;
            
        }
        
        private void actionClickMenuItem1(){
            
            setTitle("Button1可见");
            button1.setVisibility(View.VISIBLE);
            button2.setVisibility(View.INVISIBLE);
        }
        
        private void actionClickMenuItem2(){
            setTitle("Button2可见");
            button1.setVisibility(View.INVISIBLE);
            button2.setVisibility(View.VISIBLE);
        }
    }

    看到很多程序中习惯public static int 

     MENU_TEST_1 = Menu.FIRST;
      public static int  MENU_TEST_2 = Menu.FIRST+1;
    这样处理。
    但是测试发现即使用其他的常量替代Menu.FIRST也不会影响实际的结果。
    使用Menu.FIRST的好处---

    程序封装的变量 用起来不占内存 程序读的快 不容易出错

     

  • 相关阅读:
    Nginx证书配置:tomcat证书jks文件转nginx证书.cet和key文件
    postgresql中实现按周统计详解
    symfony 初始化项目
    从零开始创建 symfony-cmf
    Installing Symfony project with PHP 7.3 version
    GIT Submodule的使用
    分享 koa + mysql 的开发流程,构建 node server端,一次搭建个人博客
    vue 响应式原理
    $nextTick 源码解析
    记一次webpack打包优化
  • 原文地址:https://www.cnblogs.com/mumue/p/2473852.html
Copyright © 2020-2023  润新知