古いアプリでは、通常onCreateContextMenu()
、コンテキストアクションに次の署名を使用します。
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo)
これmenuInfo
により、リスト内のコンテキストメニューが作成されていたアイテムに関する情報が提供されます。次に、それに適したアクションを見つけて、メニュー項目として作成する権利Uri
を取得できます(自動インテントなどを使用)。
現在、新しいAPIでは、これに代わるものは、以下を使用するコンテキストアクションバーActionMode
です。
public boolean onCreateActionMode(ActionMode mode, Menu menu)
public boolean onPrepareActionMode(ActionMode mode, Menu menu)
しかし、ここでは、どうすればアイテムを区別したり、この位置情報を取得したりできますか?
バッチモードの場合、このようなパラメータが存在しないことは理にかなっています。何にでも適用できるアクションのみを提供する必要があるためです。しかし、シングルモードの場合、ボタンがアクションバーにあることを除けば、これは古いAPIと完全に同等ではないでしょうか。
参照:http ://developer.android.com/guide/topics/ui/menus.html#context-menu