Я использую invalidateOptionsMenu()
метод для обработки изменения панели инструментов MenuItems
, но в последнее время что-нибудь вкусненькое, это выделить этот метод как ERROR
и говорит:Android, этот API помечен как внутренний в библиотеку поддержки и не должны быть доступны из приложений ошибки
This API is marked as internal to the support library and should not be accessed from apps
navigationview.setNavigationItemSelectedListener(XXX);
Также для метода и некоторые другие! Для решения этой проблемы очень нелогично использовать @SuppressWarnings("RestrictedApi")
, так как вы просто игнорируете lint
, но не , решаете проблему.
как я могу исправить эту проблему?
Да, но их много, например: 'navigationView.getMenu();' , что метод 'getMenu()' имеет ту же ошибку – AlirezaXX
Это не было частью исходного вопроса и связано с разным классом (AppCompatActivity vs NavigationView). Но чтобы ответить на это: Google, похоже, аннотировал многие методы в Support Library 25.0.1 с RestrictedApi (см. Http://tools.android.com/tips/lint-checks). Вы можете игнорировать это с помощью @SuppressWarnings («RestrictedApi»), но иногда (как и в исходном вопросе) есть лучший способ - не использовать ограниченные методы и называть те, которые Google создал для этой цели. – rastik
Вы можете разместить свой код с помощью getMenu в качестве отдельного вопроса (пожалуйста, оставьте здесь комментарий со ссылкой), и, возможно, есть способ решить эту проблему. – rastik