Topic: PopupMenu

Обсуждение статьи PopupMenu - Всплывающее меню

Re: PopupMenu

Александр, на странице с уроком PopupMenu - Всплывающее меню, нет ссылки на соответствующую тему  форума. Так же хочется заметить, что при создании проекта, иконки приложения хранятся не в папке drawable, а в папке mipmap.  Скорее всего связано с последней версией студии. В предыдущих уроках с этим возникла проблема и возможно следует об этом сообщить.

Re: PopupMenu

В первом уроке Hello Kitty я рассказывал о структуре папок в res и написал, что в mipmap хранятся значки. Откуда у вас взялись проблемы?

Re: PopupMenu

<item  android:icon="@drawable/ic_launcher"    />

Тут студия ругается на меня. Может я что-то путаю, но на сколько я понимаю, в этой строке мы ссылаемся на иконку. В моей папке drawable пусто. По этому я набрался смелости исправить на <item  android:icon="@mipmap/ic_launcher"    /> где собственно и, лежат ic_launcher.

Если не прав, хотел бы увидеть объяснение в чем конкретно моя ошибка, спасибо.

А проблема возникла, когда только начав заниматься со студией, я не сообразил, что вообще за папка и задал с помощью alt+enter для нее ссылку и файл refs.xml.  Сейчас знания улеглись и стало проще, потому и написал. Мало ли у кого еще возникнет такая проблема.)

Re: PopupMenu

Это естественно. В новых версиях студии значки переместили в другую папку. Поэтому вы все правильно сделали. Я не могу каждый день пробегаться по сотням своих уроков и проверять, не остались ли там устаревшие конструкции. Вообще, нужно не просто копировать код, но и понимать, за что он отвечает. Вот и вы со временем поняли и разобрались. И другие должны разбираться в своей голове, а не брать готовое на блюдечке.

Re: PopupMenu

Здравствуйте Александр. В уроке Вы используете 2 группы PopupMenu, хотелось бы рассмотреть, как управлять группами, например одну группу скрыть, другую показать.

Re: PopupMenu

Не пробовал. Не знаю

Re: PopupMenu

Здравствуйте! Все получилось, при нажатии кнопки выходит в меню как и задумано. Но если щелкнуть в любом месте экрана то всплывает несколько урезанных пунктов меню. Скриншот: http://joxi.ru/p27vpZU05oZYm7
Может кто-нибудь сталкивался?

Re: PopupMenu

Гугл "прикончил" ActionBarActivity
Сейчас все работает просто через Activity (и через AppCompatActivity) (пока так и не пойму для чего AppCompatActivity, когда его использовать... видимо пока не понадобиться что нибудь действительно "замудреное" сделать, не узнаю)
https://github.com/KirillNN/popupMenu/

Александр интересно... А часто такие изменения вносятся и приходится переделывать уже работающие проекты??

Re: PopupMenu

Изменения происходят раз в год, а то и чаще. Но остается и обратная совместимость, поэтому не всегда обязательно переделывать. Это необходимо, если нужно добавить что-то новое, а оно уже не работает со старым кодом.

Re: PopupMenu

Здравствуйте! В коде ошибок нет, написан собственноручно, но с Вашего примера с собственными обзываниями тайтлов. Ошибок среда не показывает, компилит-устанавливает-запускает. Тестирую всё всегда сразу на телефоне, т.к. эмулятор крайне нестабилен в работе. При нажатии на любую вью или кнопку приложение вылетает (приложение остановлено). Ругается на мейн активити в логе. При этом на эмуляторе всё работает. На телефоне такое впервые.

вот что говорит лог рана:

D/ViewRootImpl: ViewPostImeInputStage processPointer 1
W/ResourceType: Failure getting entry for 0x7f060056 (t=5 e=86) (error -75)
D/TextView: setTypeface with style : 0
    setTypeface with style : 0
W/ResourceType: Failure getting entry for 0x7f060056 (t=5 e=86) (error -75)
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.honeybear.menus2, PID: 31475
    android.content.res.Resources$NotFoundException: Resource ID #0x7f060056
        at android.content.res.Resources.getValue(Resources.java:2598)
        at android.content.res.Resources.getDrawable(Resources.java:2041)
        at android.content.res.Resources.getDrawable(Resources.java:2027)
        at android.content.Context.getDrawable(Context.java:464)
        at com.android.internal.view.menu.MenuItemImpl.getIcon(MenuItemImpl.java:402)
        at com.android.internal.view.menu.ListMenuItemView.initialize(ListMenuItemView.java:133)
        at com.android.internal.view.menu.MenuPopupHelper$MenuAdapter.getView(MenuPopupHelper.java:687)
        at com.android.internal.view.menu.MenuPopupHelper.measureContentWidth(MenuPopupHelper.java:464)
        at com.android.internal.view.menu.MenuPopupHelper.tryShow(MenuPopupHelper.java:202)
        at com.android.internal.view.menu.MenuPopupHelper.show(MenuPopupHelper.java:154)
        at android.widget.PopupMenu.show(PopupMenu.java:218)
        at com.example.honeybear.menus2.MainActivity.showPopupMenu(MainActivity.java:64)
        at com.example.honeybear.menus2.MainActivity.access$000(MainActivity.java:14)
        at com.example.honeybear.menus2.MainActivity$1.onClick(MainActivity.java:33)
        at android.view.View.performClick(View.java:5721)
        at android.view.View$PerformClick.run(View.java:22620)
        at android.os.Handler.handleCallback(Handler.java:739)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:148)
        at android.app.ActivityThread.main(ActivityThread.java:7406)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
I/Process: Sending signal. PID: 31475 SIG: 9
Application terminated.

Я не силен в поисках косяков такого плана. По этому полагаюсь на Вашу помощь.
ЗЫ: мобилко - самсунг галакси j2 prime, андроид 6.0.1. Эмуль комплектный со средой, эмулит нексус 5х, дефолтный.
Заранее спасибо!