getActionView устарел?

Сегодня я решил перевести свое приложение для Android с Java на Kotlin! 🙂 Но я был очень удивлен, когда набираю это:

val searchItem = menu.findItem(R.id.action_search) val searchView = MenuItemCompat.getActionView(searchItem) as SearchView 

И Android Studio рассказала мне: «getActionView (MenuItem!): View!» устарел. Устаревший в Java "

Поэтому прежде, чем задать вам решение, я прошу Google, в чем заключается решение, и я полагал, что нашел решение: «Используйте getActionView () напрямую».

Поэтому я изменил свой код следующим образом:

 val searchView = MenuItemCompat.getActionView() as SearchView 

Но getActionView() по-прежнему пересекается, поэтому я совсем не понимаю …

Я буду очень рад, если вы сможете мне помочь 🙂 Спасибо!

Джавадок говорит:

Используйте getActionView () напрямую.

Следовательно, вам следует сделать следующее:

 val searchView = searchItem.getActionView() as SearchView 

Вы можете использовать то же самое, что и на веб-сайте разработчика Android.

 @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the options menu from XML MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.options_menu, menu); // Get the SearchView and set the searchable configuration SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView(); // Assumes current activity is the searchable activity searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); searchView.setIconifiedByDefault(false); // Do not iconify the widget; expand it by default return true; } 

Как было предложено эгором, вы можете сделать это

  getMenuInflater().inflate(R.menu.menu_items, menu); MenuItem menuItem = menu.findItem(R.id.action_search); SearchView searchView = (SearchView) menuItem.getActionView(); search(searchView); return true; 
Intereting Posts
Kotlin – Прерывистая ошибка «плохого файла класса» Android Studio 3.0 gradle 3.0.0-beta2, ломает Kotlin Unit Test Coverage? Ошибки привязки данных в прикладном модуле Получить местоположение android Kotlin ReferenceError: ok не определен в QUnitAsserter.assertTrue в Kotlin Javascript Ошибка несоответствия данных типа Kotlin error: generics не поддерживаются в -source 1.3 при компиляции кода Java с Kotlin android – Запуск приложения с ошибкой «com.android.builder.dexing.DexArchiveMergerException: невозможно слить dex ' Класс тестирования детей Kotlin запускает все родительские тесты Исключенное исключение при сжатии растрового изображения внутри AsyncTask не останавливает выполнение Как Kotlin coroutines лучше, чем RxKotlin? Класс данных KotlinReflectionInternalError Фильтровать подстроку в котлин Производительность при использовании Pair в Kotlin для Android Ошибка: ошибка преобразования байт-кода в dex: Причина: com.android.dex.DexException: несколько файлов dex определяют Lorg / jetbrains / anko / collections / CollectionsKt;