忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



2017/11/18 15:34 |
Android2.2 名刺管理アプリケーションを作ってみる5日目その4

http://codezine.jp/article/detail/4842?p=2

前回の続き。
現在は既に登録されている名刺を表示するだけしかできません。
新規登録アクティビティへのリンクを作成します。

まずはこれまでのテンプレートとは完全に独立した登録メニューを作成。
/res/menu/list.xml

	<?xml version="1.0" encoding="utf-8" ?>
	<menu xmlns:android="http://schemas.android.com/apk/res/android">
		<!-- 新規メニュー -->
		<item
			android:id="@+id/menu_new"
			android:title="@string/menu_new"
			android:icon="@android:drawable/ic_menu_add" />
	</menu>
"@string/menu_new"とついでに他のメニュー文言を登録。
/res/values/string.xml
    <string name="menu_new">新規</string>
	<string name="menu_save">保存</string>
	<string name="menu_edit">編集</string>
	<string name="menu_delete">削除</string>
メニューボタンを押したときの挙動を追加。
/src/com.example.bizcard/ListActivity.java
	@Override
	public boolean onCreateOptionsMenu(Menu menu){
		MenuInflater inflater = getMenuInflater();
		inflater.inflate(R.menu.list, menu);
		return true;
	}
Activity.onCreateOptionsMenu()はメニューボタンを押したときに出てくる内容を変更するメソッドです。
MenuInflater.inflate()という謎のメソッドを実行することでメニューを追加することができます。
ひとつだけだとメニュー全体にボタンが現れますが、複数回追加すると追加したぶんだけメニューが増やせます。

メニューにクリック時の遷移を追加します。
こちらは元々クリックされることが想定されているので、わざわざリスナーを追加したりせずとも簡単に監視を行うことができます。
	//メニューボタンのクリックイベント
	public boolean onOptionsItemSelected(MenuItem item) {
		int itemId = item.getItemId();
		switch (itemId) {
		case R.id.menu_new:
			// 編集画面へ遷移
			Intent registIntent = new Intent( this, RegistActivity.class);
			startActivity( registIntent);
			break;
		}
		return true;
	};
Activity.onOptionsItemSelected()でメニューボタンをクリックしたときのイベントを記述します。
こちらはonItemClickと違ってMenuItemというわかりやすい引数で来ます。
クリックした部分が"@+id/menu_new"であればRegistActivityにインテントを送信しています。
今回はメニューにR.menu.listしかないのでswitch文の意味が全く無いですが、メニューに複数のボタンを追加したときでも全く同様に処理することができます。

無事に新規登録メニューができました。
サンプルと色がちがうんだが何でだろう?
 

Androidの記事
PR


2010/08/23 22:37 | Comments(0) | TrackBack(2) | Android

トラックバック

トラックバックURL:
http://codezine.jp/article/detail/4842?p=3 前回の続き。 現在、一覧画面から各名刺をクリックするとShowActivityが起動し、クリックしたBizCardオブジェクトがインテントで渡されるようになっています。 ShowActivityはテンプレートを作っただけでロジックは何もしていませんでしたので、インテントから投稿内容を受け取るようにしてみましょう。 /src/com.example.bizcard/ShowActivity.jav...
弱小PHPerの憂鬱 | 2010/08/27 23:57
http://codezine.jp/article/detail/4842?p=3 前回の続き。 前、名刺一覧画面にメニューを実装しましたが、今回は名刺詳細画面にメニューを実装し、詳細編集画面への遷移を作成してみます。 基本は同じですが、今回はアクティビティ呼び出し部分がstartActivity()ではなくstartActivityForResult()になっているところが違います。 /res/menu/show.xml <?xml version="...
弱小PHPerの憂鬱 | 2010/09/03 23:44

コメント

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<Android2.2 名刺管理アプリケーションを作ってみる5日目その5 | HOME | 買ったものリスト 2010/08/22>>
忍者ブログ[PR]