Я потратил недели на разработку пользовательского веб-просмотра для приложения, которое я создаю.У меня есть класс (назовем его myWebView), который расширяет Android WebView.Я объявил myWebView в моем main.xml, так же, как вы примете любые другие элементы пользовательского интерфейса, я добавил в myWebView имя пакета.Все работало хорошо и прекрасно.
После нескольких недель работы со всеми функциями моего расширенного класса пришло время реализовать меню опций.По сравнению с тем, что я делал, я думал, что это будет относительно простой задачей.Я переписал onCreateOptionsMenu () и попытался раздуть мое меню из XML-файла.Когда я запустил свое приложение в эмуляторе и нажал кнопку меню, ничего не произошло.Мой код для onCreateOptionsMenu () не был ошибочным.Я попробовал это в манекене, в котором был простой файл main.xml, который содержал только регулярное веб-просмотрМеню работало в манекене.Затем я попробовал различные другие способы заполнения меню (используя различные реализации menu.add ()), и все они работали с моей фиктивной деятельностью, но не работали в моем реальном приложении.Я удалил все из своей деятельности, кроме того, что было в onCreate и onCreateOptionsMenu, чтобы посмотреть, не мешает ли что-нибудь из моих других методов созданию меню.Это также ничего не достигло.Я поместил оператор log в onCreateOptionsMenu (), чтобы увидеть, вызывается ли метод.Черт возьми, это не было вызвано, когда я нажал кнопку меню.Наконец, я вошел в свой main.xml и удалил тег для myWebView из макета.После этого приложение запустилось, и меню заработало.
Так что по какой-то причине использование моего пользовательского веб-представления препятствует работе меню.Кто-нибудь еще сталкивался с этой проблемой?Мне трудно поверить, что вы не можете использовать меню опций с пользовательскими элементами пользовательского интерфейса, поэтому нужно немного поработать.И наоборот, кто-нибудь создал пользовательское веб-представление и успешно реализовал меню опций, что означало бы, что мне нужно пойти и пересмотреть свой код.Я запишу свой код, если кто-то посчитает, что это поможет, но я на 99,99% уверен, что все написано правильно и в соответствии с лучшими практиками, а код для моего расширенного класса огромен и потребует большой очистки.Исходя из того, что я здесь сказал, у кого-нибудь есть идеи?