找尋幸福的方向

關於部落格
  • 57750

    累積人氣

  • 12

    今日人氣

    0

    訂閱人氣

100326_Menu程式練習

經過這個程式的練習

大概知道了幾件事

string.xml 是一個 resource 的處理檔
<string name="menu_add">Add Item</string>
<string name="menu_delete">Del Item</string>
<string name="menu_exit">Exit</string>

在 string.xml 設定的元素,可以在程式中,利用 R.string.元素名取得

要使用 Menu 的話要引入
import android.view.Menu;
import android.view.MenuItem;

Menu 似乎是一個 Container
MenuItem 才是裡面的實體。

Menu menu;
menu.add( GroupId , event_id , order , show_str )
所以使用上必須指定 evenit_id ,以及顯示名字
既然知道了如何設定,當然要知道是要設在哪
Menu 在 Initial 時,會呼叫 onCreateOptionsMenu()
要  override 它即可,再裡面進行 add

public static final int ADD_ID = MENU.FIRST;
@override public boolean onCreateOptionsMenu( Menu menu )
{
  menu.add( 0 , ADD_ID , 0 , "Insert...");
  menu.add( 0, ADD_ID , 1 , R.string.menu_add ) // 若設定過 string.xml 即可引用
  return true;
}

再來就要討論,如果引發事件了
當 menuItem 被選擇時,將會引發 onOptionsItemSelected 事件,會傳入被選擇的 MenuItem 為參數
這時候只要將 menuitem 的 id 進行事件判斷處理即可

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
  switch (item.getItemId())
  {
    case ADD_ID: setTitle("Insert...");
      break;
  }
  return super.onOptionsItemSelected(item);
}

總結一下這裡的部份
要加入 Menu 事件,要引入 Menu , MenuItem
Menu 在 onCreateOptionsMenu 中初始化 MenuItem

MenuItem 的引發是透過 onOptionsItemSelected 來辨識並處理要做的事。

而 string.xml 設定的值,可以在 R.string.XXX 取得。

使用 finish() 可以結束程式





















最後簡單的說明一下
HelloWord繼承了 Activity
Override 了它的 function,作用分別是

onCreate() => 應用程式初始化
onCreateOptionsMenu() => 初始化表單
onOptionsItemSelected() =>  Menu事件引發會進入的 function

在使用 Menu 資源時,必須 import 相關資源
import android.view.Menu;
import android.view.MenuItem;

而在 string.xml 裡面編輯的 string 元素,在存檔後,會自動處理至 R.java
也就是說,HelloWord 只要引用 R.string.元素名,就可以引用了。


相簿設定
標籤設定
相簿狀態