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

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

 

原文地址:https://www.cnblogs.com/mumue/p/2473852.html