2010/01/15

Android Activity 實現 Menu Key 功能

在 Android 中, 要實現 Menu Key 功能,

必須加上兩個 Event: onCreateOptionsMenuonOptionsItemSelected,

利用 Eclipse 功能, 快速建立以下兩個程序 :


範例如下 :
 Java 程式碼
public class helloWorld extends Activity {

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView( R.layout.main );
}

/** 建立 Menu Item */
@Override

public boolean onCreateOptionsMenu(Menu menu) {

// // 新增 Menu Item
menu.addSubMenu( 0, 0, 0, "開啟" );

SubMenu sm = menu.addSubMenu( 0, 1, 0, "儲存" );
sm.add( 0, 2, 0, "Save" );
sm.add( 0, 3, 0, "Save As" );
sm.add( 0, 4, 0, "Upload" ).setCheckable( true ); // 這個設定為 CheckBox 樣式

// TODO Auto-generated method stub
return super.onCreateOptionsMenu(menu);
}

/** 選擇了哪個 Menu Item */
@Override

public boolean onOptionsItemSelected(MenuItem item) {

// 按下了第幾個 Menu Item
switch( item.getItemId() )
{
case 0 :
((TextView)findViewById(R.id.showText)).setText("你按了 開啟 選單 !!");
break;
case 2 :
((TextView)findViewById(R.id.showText)).setText("你按了 Save 選單 !!");
break;
case 3 :
((TextView)findViewById(R.id.showText)).setText("你按了 Save As 選單 !!");
break;
case 4 :
((TextView)findViewById(R.id.showText)).setText("你按了 Upload 選單 !!");

// 勾選反向顯示
item.setChecked( !item.isChecked() );
break;
}

// TODO Auto-generated method stub
return super.onOptionsItemSelected(item);
}
}

範例結果 :