2011-07-27 11 views
3

onCreateでは、変数activeViewに線形レイアウトビューを添付します。私はregisterForContextMenu(activeView)に電話します。すべてが正常に動作し、コンテキストメニューが作成され、項目がクリック可能であると表示されますが、onContextItemSelectedではAdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo()と呼び出し、nullpointerexceptionを取得します。私はヌルのmenuInfo変数をすべて調べて、registerForContextMeu(activeView)がOnCreateContextMenuにnullのContextMenuInfoを最初から渡していることを確認しました。なぜこうなった?私は、異なるビュー、listView、および線形レイアウトのために同じプロセスを行い、そこに問題は存在しません。onCreateContextMenuを渡すregisterForContextMenuがnullのContextMenuInfoはなぜですか?

+1

'OnItemLongClickListener'と' registerForContextMenu'が両方とも設定されている場合は、 'AdapterContextMenuInfo'がnullにならないようにリスナーで' false'を返す必要があります。特定のリスト項目のコンテキストメニューを無効にしているので、リスナーで実際に 'registerForContextMenu'を呼び出しても問題ありません。 –

+0

Thx @ 3k- !!この解決策を見つけるのに数時間かかりました。リスナーで 'false'を返すと仕事ができました! – mixable

答えて

0

getMenuInfo()から何を得ることができますか?いずれにせよ、私はLinearLayoutによってそれが設定されるとは思わない、私は多くの場合、メニューを生成するビュー(同じLinearLayout)を得ることができると信じています。

関連する問題