2012-05-04 9 views
0

リストビュー内にリストビュー(幅と高さの両方がmatch_parent)がある単純なLinearLayoutがあります。私は、ListViewの任意の場所に長いタッチで表示するためのコンテキストメニューが必要です。最初に、私はregisterForContextMenuをListViewに呼び出しました。これにより、リストアイテムに対してタッチが実行された場合にのみコンテキストメニューが表示されます。次に、LinearLayoutに対してもregisterForContextMenuを呼び出し、属性android:longClickable="true"を設定しました。これは役に立たなかった。リストビュー内の空白のコンテキストメニュー

したがって、リスト項目の下に長いタッチのコンテキストメニューを作成するにはどうすればいいですか?たとえば、リストビューに1つのアイテムがある場合、そのアイテムの下には空きスペースがたくさんあります。リストビューがレイアウトに従って親全体を塗りつぶすのであれば、コンテキストメニューの呼び出しには使用されないのはなぜですか?

答えて

1

私はどこにでもListView上の長いクリックすると、それはユーザーがListView下の空のスペースとListViewContextMenuをクリックすることで、特にあなたの場合は、ユーザーが期待する1(正常な行動だContextMenuを取得することはないと思います表示されます)。

とにかく、あなたの例のために、あなたは(もちろん、あなたが持っているでしょうwrap_contentにごListView height属性を設定する(私が右覚えていれば、これは推奨値です)、その後ListViewと親LinearLayoutためContextmenuを登録することができます両方に同じコードを提供する)。

+0

これは、リストビューのコンテキストメニューではなく、画面全体のコンテキストメニューです。したがって、ユーザーはこのコンテキストメニューを画面のどこにでも表示することができます。とにかく、wrap_conentは正常に動作します。ありがとう。 – Stan

関連する問題