onCreateContextMenu не вызывается
похоже, что onCreateContextMenu не вызывается вообще. В моем onCreate для моей ListActivity у меня есть:
list = getListView();
registerForContextMenu(list);
(Я знаю, что это избыточно, и я только что прошел getListView() с теми же результатами).
вот мой onCreateOntextMenu;
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
Log.d("LM", "onCreateContextMenu");
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.context_landmarks, menu);
}
журнал никогда не генерируется. У кого-нибудь есть предложения?
6 ответов
моя мысль-ListView, перехватывающий событие и не входящий в поведение contextMenu. Это имеет смысл для меня, потому что поведение OnItemLongClickListener перекрывает contextMenu. Если нет, то как он может распознавать между contextMenu и OnItemLongClickListener?
попробуйте найти registerForContextMenu (list); как ur последний метод для вызова метода onCreate. Я имею в виду, что этот метод должен быть вызван после того, как адаптер списка вызывается не раньше.
просто удалить youwidget.setonLongclicklistener
и yourwidget.setLongClickable
и затем добавить registerforContextmenu(yourwidget)
на onCreate()
затем добавьте код в соответствии с используемым виджетом.
надеюсь, это будет полезно.
Я звонил View.setOnClickListener(listener)
на Adapter.getView(...)
, когда он должен быть!--2--> чтобы избежать конфликта с контекстным меню.
В общем, я уверен, что OnItemClickListener более оптимизирован, тем более, что используется только один экземпляр прослушивателя вместо создания нового экземпляра каждый время создания или повторного использования представления.
У меня была эта проблема, и я мог решить ее, только обеспечив
- это потому, что resp. Действие зарегистрировало представления, то же действие должно также переопределить onCreateContextMenu (); делать это во фрагменте не будет работать
- поскольку я использовал дополнительный фрагмент, создавая адаптер (и регистрируясь с ним), фрагмент не должен переопределять действие onContextItemSelected ().
Я рассматриваю возможность отказа от длительного нажатия всплывающего окна в пользу кнопки в стиле Youtube в правом поле карт выскакивает меню, которое не исчезает все остальное в фоновом режиме---каков термин поиска для этого кстати?