スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

メニューボタンの処理

メニューボタン押下時に、メニューを出力するサンプルを作成してみた。

≪画面イメージ≫
menu_2


まず、メニュー押下時に出力するメニューのレイアウトを作成。
menu_1

【menu.xml】
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu1" android:title="メニュー1"
android:numericShortcut="1" />
<item android:id="@+id/menu2" android:title="メニュー2"
android:numericShortcut="2" />
<item android:id="@+id/menu3" android:title="メニュー3"
android:numericShortcut="3" />
<item android:id="@+id/menu4" android:title="メニュー4"
/>
</menu>



次に、メニューを表示したいActivityのクラスに、メニューの制御を記述する。

【Main.java】
package com.test;

import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;

public class Main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}

/**
* メニューの作成を行う
*/
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}

/**
* メニュー選択時の処理
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
super.onOptionsItemSelected(item);

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("タイトル");
final String message;
switch (item.getItemId()) {
case R.id.menu1:
message = "選択されたメニュー:1";
break;
case R.id.menu2:
message = "選択されたメニュー:2";
break;
case R.id.menu3:
message = "選択されたメニュー:3";
break;
case R.id.menu4:
message = "選択されたメニュー:4";
break;
default:
message = "エラー";
break;
}
builder.setMessage(message);
builder.setPositiveButton("OK",new android.content.DialogInterface.OnClickListener() {
public void onClick(android.content.DialogInterface dialog,int whichButton) {
setResult(RESULT_OK);
}
});
builder.create().show();

return true;
}
}
スポンサーサイト

コメント

非公開コメント

検索フォーム


カテゴリ
全記事表示リンク

全ての記事を表示する

広告
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。