民芸的プログラミング 〜ソフトウェア開発日記〜

アクセスカウンタ

zoom RSS AndroidのListActivityにコンテキストメニューを組み込む方法

<<   作成日時 : 2015/12/19 20:17   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

まさにタイトルの件で困って調べたのでメモとして。

リストビュー上でタップ&ホールドをした際に表示されるコンテキストメニューの表示の仕方について。

StackOverflow にそのまんまの記事が載っていた。

How do you implement context menu in a ListActivity on Android?

ListActivity を継承した Activity の onCreate 関数の中で

registerForContextMenu(getListView())

を呼び出すのが第一歩。

続いて、同Activityに

@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
    ...
}

という関数を作成する。
この関数はコンテキストメニューを表示するたびに呼ばれるので、ここでメニューをごにょごにょいじれば、表示するたびに状況に対応したメニューを表示することができる。

ユーザーが実際にメニューを選択したら、今度は onConetextItemSelected 関数が呼び出されるので、これも用意する。

@Override
public void onContextItemSelected(MenuItem item) {
    AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
    ...
}

これで、ユーザーがどのメニューを選択したか分かるので、処理を進めることができる。

どうのこうのいって一番詳しいのは公式のAndroid DevelopoersのActivityのAPIリファレンス
この記事で処理の流れを把握し、公式APIリファレンスのonCreateContextMenuやonContextItemSelectedの解説を読んでみると理解が深まる。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
AndroidのListActivityにコンテキストメニューを組み込む方法 民芸的プログラミング 〜ソフトウェア開発日記〜/BIGLOBEウェブリブログ
文字サイズ:       閉じる