//onCreateOptionsMenu 在系統起動時,調用一次建立菜單,以後將不會被調用
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
menu.add(0, 0, 0, R.string.menu_about).setIcon(android.R.drawable.ic_menu_info_details);
menu.add(0, 1, 1, R.string.menu_exit).setIcon(android.R.drawable.ic_menu_directions);
return true;
}
/**
* onOptionsItemSelected每當菜單被選擇時,調用這個統一的處理函數
* 處理Menu事件
*/
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case 0://關於 的資訊顯示
break;
case 1: //結束程式處理
smssend.this.finish();
break;
}
return true;
}
/**
* onPrepareOptionsMenu中途或者在新的Activity中需要修改功能表項目中的內容,調用這個函數
* 處理Menu事件
*/
@Override
public boolean onPrepareOptionsMenu(Menu menu)
{
menu.clear();
menu.add(0, menuEXIT, 1, "測試2")
.setIcon(android.R.drawable.ic_menu_directions);
return super.onPrepareOptionsMenu(menu);
}
如果程式中,存在多個Activity,可以先建立 Activity 的一個基類,在這個建立立的基類中,放入上面這些菜單的函數。
接著後續的Activity表單都繼承這個基類,這樣就能共用菜單模組。
如果某個Activity中需要定義與主菜單不同的菜單內容,則通過 onPrepareOptionsMenu 這個函數重構菜單,因為onCreateOptionsMenu只會被調用一次。