サンプルプログラム工場

AAKAKA Appで使われているプログラムのサンプルコードをそのまま公開!

サンプルプログラム工場 > android > AndroidでXMLファイルからオプションメニューを作るサンプル#tryOptionMenu00
Google Play AAKAKAxSOFTへ

AndroidでXMLファイルからオプションメニューを作るサンプル#tryOptionMenu00

実行ファイル(APK)やサンプル(zip)をダウンロードする
tryOptionMenu00の実行イメージtryOptionMenu00の実行イメージ

オプションメニューをXMLファイルから作る。
手書きでIDを指定してメニューを作るのはちょっとめんどうなので、menu.xmlを作ってメニューが作成されるタイミングでそれを呼び出すようにする。
項目をクリックされた場合は新しくブラウザを開いて指定のURLを開くようにする。

大事なところ
 resを右クリックして[新規]→[その他]から[Android XML ファイル]を選ぶ。
 リソースタイプを[menu]にしてファイル名を設定する。
 項目がクリックされたときはonMenuItemSelectedのXML内で割り当てたIDで判別する
 

関連項目
 menu.xml
 onMenuItemSelected
 onCreateOptionsMenu
 ブラウザで指定のページを開く

開発環境
 Eclipse IDE バージョン: 3.7 Indigo Service Release 1
 ターゲットプラットフォーム: 2.1
 API レベル: 7

package trial.sample.tryoptionmenu00;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;

public class TryOptionMenu00Activity 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) {
		
		// XMLファイルからメニューを登録する
		MenuInflater inflater = this.getMenuInflater();
		inflater.inflate(R.menu.option_menu, menu);
		
		return super.onCreateOptionsMenu(menu);
	}

	////////////////////////////////////////////////////////////
	// メニューの項目が押されたときに呼ばれる
	@Override
	public boolean onMenuItemSelected(int featureId, MenuItem item) {

		// XML内の割り当てたIDで処理を分ける
		switch (item.getItemId()) {
		// googleへ移動
		case R.id.item_go_to_google:
			this.navigate("http://www.google.co.jp/");
			break;
		// yahooへ移動
		case R.id.item_go_to_yahoo:
			this.navigate("http://www.yahoo.co.jp/");
			break;
		}
		
		return super.onMenuItemSelected(featureId, item);
	}
	
	
	////////////////////////////////////////////////////////////
	// ブラウザを開いて指定のURLへ移動する
	private void navigate(final String url) {
		Uri uri = Uri.parse(url);
		Intent intent = new Intent(Intent.ACTION_VIEW, uri);
		this.startActivity(intent);
	}
}
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:id="@+id/item_go_to_google" android:title="Googleへ移動"></item>
    <item android:id="@+id/item_go_to_yahoo" android:title="Yahooへ移動"></item>
    

</menu>
APKファイルをダウンロード サンプルプロジェクトをダウンロード

, , , , , ,

AndroidのEditTextの数値の制限(範囲を限定)をTextWatcherを使ってするサ... AndroidアプリでクリップボードにClipboardManagerを使ってテキストを書き...

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>