2012'12.06.Thu
サブMENU処理を他メソッド化
参照:http://d.hatena.ne.jp/murakaming/20110427/1303885394
実験対象バージョン:Android2.3.3
メニューの設定内容です。
メニューが押されたときにどんな処理をするのかを記入します。
今回は、終了ボタンが押されると画面をバックグランドにする処理が入っています。
XMLの記述は、あんまり上手くないので微妙な部分もあるかも知れません。
変数は適当過ぎですw
http://andante.in/i/android%E3%82%A2%E3%83%97%E3%83%AAtips/%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E7%94%A8%E3%81%AE%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E4%B8%80%E8%A6%A7ic_menu_/
呼びだす時は以下で呼んでいます。
画面遷移をしても、遷移先で同じ以下の記述をしておけば、上記の処理を毎回行ってくれます。
参照:http://d.hatena.ne.jp/murakaming/20110427/1303885394
実験対象バージョン:Android2.3.3
あくまで、私的内容です。
これがいいとは限らないと思います。
参照ページは、もう少し使い勝手を良くされているので、是非参考にして下さい。
また、変数は気にしたら負けですw
MenuManager.java
メニューの設定内容です。メニューが押されたときにどんな処理をするのかを記入します。
今回は、終了ボタンが押されると画面をバックグランドにする処理が入っています。
import android.app.Activity;
import android.view.InflateException;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
//************************************************************************
// サブメニュー表示欄(アプリ終了・継続表記)
//************************************************************************
public class MenuManager
{
//----------------------------------
// Menu表示イベント
//----------------------------------
public boolean createOptionsMenu(Activity activity, Menu menu)
{
// 呼び出し側ActivityへMenu設定
MenuInflater inflater = activity.getMenuInflater();
try
{
//メニュー表示(menu.xml)表示
inflater.inflate(R.menu.menu, menu);
}
catch (InflateException e)
{
return false;
}
return true;
}
//-------------------------------
// Menu選択イベント
//-------------------------------
public boolean optionsItemSelected(Activity activity, MenuItem item)
{
switch (item.getItemId())
{
case R.id.it_shuryou:
// アクティビティをバックグラウンドに移動する
activity.moveTaskToBack(true);
return true;
case R.id.it_zokkou:
//何もしないで戻る
return true;
default:
return false;
}
}
res/menu/menu.xml
XMLの記述は、あんまり上手くないので微妙な部分もあるかも知れません。変数は適当過ぎですw
メニューアイコンについては、以下を参照
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 終了 -->
<item
android:id="@+id/it_shuryou"
android:title="@string/shuryou"
android:icon="@android:drawable/ic_menu_close_clear_cancel"
></item>
<!-- 戻る -->
<item
android:id="@+id/it_zokkou"
android:title="@string/zokkou"
android:icon="@android:drawable/ic_menu_revert"
></item>
</menu>
http://andante.in/i/android%E3%82%A2%E3%83%97%E3%83%AAtips/%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E7%94%A8%E3%81%AE%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E4%B8%80%E8%A6%A7ic_menu_/
呼び出すjava内
呼びだす時は以下で呼んでいます。画面遷移をしても、遷移先で同じ以下の記述をしておけば、上記の処理を毎回行ってくれます。
//***************************************************************
// メニュー画面(終了画面)
//***************************************************************
//----------------------
//メニュー画面呼び出し
//----------------------
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
return new MenuManager().createOptionsMenu(this, menu);
}
//----------------------
// Menu選択イベント
//----------------------
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
// 共通処理
return new MenuManager().optionsItemSelected(this, item);
}
PR
Post your Comment
カテゴリー
最新記事
リンク
ブログ内検索
広告