[Android] Android 程式碼便利貼(1):menu 選單

Android 程式碼通常相當複雜,又沒有適當的智慧標籤可幫助程式碼輸入。自行為各種功能建立「程式碼便利貼」,在需要撰寫各種功能時,將這些便利貼複製到設計者的程式中,可大幅縮減撰寫程式的時間。

首先介紹幾乎每個應用程式都會使用的 menu 選單,此選單在使用者按手機的「menu」鈕就會出現。

程式碼便利貼:
以兩個項目為例。

宣告常數

	protected static final int MENU_ITEM1=Menu.FIRST;
	protected static final int MENU_ITEM2=Menu.FIRST+1;

選單函式

  public boolean onCreateOptionsMenu(Menu menu)
  {
    menu.add(Menu.NONE, MENU_ITEM1, 0, 顯示項目一);
    menu.add(Menu.NONE, MENU_ITEM2, 0, 顯示項目二);
    return super.onCreateOptionsMenu(menu);
  }
  
  public boolean onOptionsItemSelected(MenuItem item)
  {
    super.onOptionsItemSelected(item);
    switch(item.getItemId())
    {
      case MENU_ITEM1:
        程式
        break;
      case MENU_ITEM2:
        程式
        break;
    }
    return super.onOptionsItemSelected(item);
  }

使用方式:
將 程式碼便利貼 加入程式中,修改「顯示項目」為選單選項,「程式」為使用者選取該項目時會執行的程式碼即可。

範例:

public class test1 extends Activity {
	protected static final int MENU_ITEM1=Menu.FIRST;
	protected static final int MENU_ITEM2=Menu.FIRST+1;
	private TextView mTextView;

	@Override public void onCreate(Bundle savedInstanceState) 
	{
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mTextView=(TextView)findViewById(R.id.mTextView);
    }
	
	  public boolean onCreateOptionsMenu(Menu menu)
	  {
	    menu.add(Menu.NONE, MENU_ITEM1, 0, "資料處理");
	    menu.add(Menu.NONE, MENU_ITEM2, 0, "結束");
	    return super.onCreateOptionsMenu(menu);
	  }
	  
	  public boolean onOptionsItemSelected(MenuItem item)
	  {
	    super.onOptionsItemSelected(item);
	    switch(item.getItemId())
	    {
	      case MENU_ITEM1:
	    	  Toast.makeText(test1.this, "aaaaaaaa", Toast.LENGTH_LONG) .show();
	        break;
	      case MENU_ITEM2:
	        finish();
	        break;
	    }
	    return super.onOptionsItemSelected(item);
	  }
}

執行結果: