zoukankan      html  css  js  c++  java
  • 创建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的好处---

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

     

  • 相关阅读:
    弹性布局、动画、过渡
    HTML
    数据库对象
    函数
    oracle与PL/SQL安装
    网络编程
    多线程
    联调接口
    vue 全局变量
    vue ajax请求
  • 原文地址:https://www.cnblogs.com/mumue/p/2473852.html
Copyright © 2011-2022 走看看