Context menu for blank space in a listview

2019-03-05 13:28发布

I have a simple LinearLayout with ListView inside it (match_parent both for width and height). I need a context menu to show up upon a long touch on ANY place in the ListView. First, I called registerForContextMenu for the ListView. This makes the context menu show up ONLY if the touch is performed on a list item. Then I called registerForContextMenu for the LinearLayout as well, and set it attribute android:longClickable="true". This did not help.

So the question is how can one produce a context menu for a long touch below list items? For example, if we have 1 item in the list view, there is a lot of empty space below the item. Why does it not used for context menu invocation, provided that the list view fills entire parent according to the layout?

1条回答
ら.Afraid
2楼-- · 2019-03-05 14:10

I don't think that long clicking anywhere on the ListView to get a ContextMenu it's a normal behavior, one the user will expect(especially in your case, with the user clicking the empty space below the ListView and a ListView ContextMenu would appear).

Anyway, for your example, you can set your ListView height attribute to wrap_content(If I remember right, this is the recommended value) and then register the Contextmenu for the ListView and the parent LinearLayout(of course you'll have to provide the same code for both).

查看更多
登录 后发表回答