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的好处---

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

     

  • 相关阅读:
    print(f"*******")这里的f代表什么意思?
    利用Datafactory实现测试数据快速生成
    jmeter+ant+jenkins部署(二)
    jmeter+ant+jenkins部署(一)
    GET与POST的区别
    Locust压测--带Token
    Jmeter接口实例:带token
    jmeter--md5加密
    python加密之hashlib
    如何获取Android app的apk包名和launcherActivity?
  • 原文地址:https://www.cnblogs.com/mumue/p/2473852.html
Copyright © 2011-2022 走看看