2014年1月3日

OnMenuItemClickListenerとは

OnMenuItemClickListener

メニューをクリックしたときのイベントリスナーを設定するもの。

以下ソース例ではActionBar内のメニュー要素をクリックでToastを発行しています。

なおActionBarを下位APIで使用可能とする為、support.v7を使用している為、

menu表示に※注意があります。

※MenuItemCompat.setShowAsAction(_item1, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);

ActionBar Menu
OnMenuItemClickListener

















MainActivity.java
public class MainActivity extends ActionBarActivity{
private ActionBar ab;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ab = getSupportActionBar();
ab.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);//初期画面をStandardで設定

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
//ヘルプメニュー作成
MenuItem _item1 = menu.add(0 , 0 ,0,"Help").setIcon(android.R.drawable.ic_menu_help);
MenuItemCompat.setShowAsAction(_item1, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);
_item1.setOnMenuItemClickListener(new OnMenuItemClickListener(){//ヘルプボタンイベントリスナー
@Override
public boolean onMenuItemClick(MenuItem item) {
// TODO 自動生成されたメソッド・スタブ
Toast.makeText(MainActivity.this, "ヘルプ!", Toast.LENGTH_SHORT).show();   
return false;
}
});

//設定メニュー作成
MenuItem _item2 = menu.add(0 , 1 ,0,"Setting").setIcon(android.R.drawable.ic_menu_preferences);
MenuItemCompat.setShowAsAction(_item2, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);
_item2.setOnMenuItemClickListener(new OnMenuItemClickListener(){//設定ボタンイベントリスナー
@Override
public boolean onMenuItemClick(MenuItem item) {
// TODO 自動生成されたメソッド・スタブ
Toast.makeText(MainActivity.this, "設定!", Toast.LENGTH_SHORT).show();   
return false;
}
});

return true;
}
}



0 件のコメント:

コメントを投稿