2

は、私は、コンテキストメニューを作成するためにonCreateContextMenuをオーバーライドしているのLinearLayoutカスタムビュー(レイアウト)でコンテキストメニュー項目を選択する方法はありますか?

public class IntelligentComponent extends LinearLayout implements OnCreateContextMenuListener{ 

を拡張するカスタムビューを持っているが、私は、選択したアイテムをキャッチする onConextItemSelected方法を見つけることができません。

タイプIntelligentComponentの(のMenuItem)onConextItemSelectedメソッドがスーパータイプのメソッドをオーバーライドまたは実装する必要があり

私はどのような方法を使用する必要がありますか?何かリスナーがいますか?

私はこのように私のメニューを作成します。

@Override 
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { 
     if (v != this) return; 
     menu.add(Menu.NONE, ValueType.SPEED.ordinal(), 0 , ValueType.SPEED.name()); 
     menu.add(Menu.NONE, ValueType.HEARTRATE.ordinal(), 1 , ValueType.HEARTRATE.name()); 
     menu.add(Menu.NONE, ValueType.DISTANCE.ordinal(), 2 , ValueType.DISTANCE.name()); 
     //v.setO 
} 

また、私はregisterForContextMenuメソッドを使用していない、問題ということでしょうか?メニューが表示されるようになりましたが、アイテム選択イベントをキャッチできません。
助けてくれてありがとう。

+0

http://www.droidnova.com/how-to-create-an-option-menu427.html –

+0

これはアクティビティのためのものです。レイアウトまたはカスタムビューで行う必要があります。 @Override public boolean onOptionsItemSelected(MenuItem item)、これは私の問題ですが、ビューにはなくアクティビティであるため、オーバーライドできません。コンテキストメニューを作成してビューの内部から処理する方法はありませんか? – Randalfien

答えて

0

これは愚かな回答かもしれませんが、メソッド名に入力ミスを修正しましたか?

+0

はい、そのように動作しません:\t @Override public boolean onContextItemSelected(MenuItem item) \t { – Randalfien

関連する問題