Получение SearchView с MenuItemCompat (Android)

Я пытаюсь реализовать элемент SearchView ActionBar, как говорят разработчики Android, но у меня проблемы. ( Http://developer.android.com/guide/topics/ui/actionbar.html ).

Есть две ошибки, которые, хотя я много искал, я не смог найти решение.

1) У меня проблема с классом MenuItemCompat. В нем говорится: Метод getActionView (MenuItem) не определен для типа MenuItemCompat

Я могу использовать только для этого класса следующие методы:

  • SetShowAsAction (item, actionEnum)
  • SetActionView (item, view)

Вот код

@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.restloader, menu); MenuItem searchItem = menu.findItem(R.id.search_menu); SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem); // Configure the search info and add any event listeners return super.onCreateOptionsMenu(menu); } 

2) Существует проблема с этим: xmlns: myapp = "http://schemas.android.com/apk/res-auto" Я не понимаю, почему он используется, но если Google говорит об этом, он должен быть уместным.

Сообщение об ошибке: множественные аннотации, найденные в этой строке: – ошибка: идентификатор ресурса не найден для атрибута «actionViewClass» в пакете «com.example.pruebahttp3» – ошибка: идентификатор ресурса не найден для атрибута «showAsAction» в пакете com.example. pruebahttp3'

 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:myapp="http://schemas.android.com/apk/res-auto" > <item android:id="@+id/search_menu" android:orderInCategory="100" android:title="@string/search" android:icon="@drawable/ic_search_category_default" myapp:showAsAction="ifRoom|collapseActionView" myapp:actionViewClass="android.support.v7.widget.SearchView"> </item> 

Большое спасибо!

У меня такая же проблема, я решил ее, используя следующий код. Позаботьтесь о своем пространстве имен.

 <!-- Search, should appear as action button --> <item android:id="@+id/action_search" android:icon="@drawable/abc_ic_search" share:showAsAction="ifRoom" share:actionViewClass="android.support.v7.widget.SearchView" android:title="@string/abc_searchview_description_search" /> 

`

Для 1-го: Фиксирование второго фиксирует это 🙂

Для 2-го:

 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:myapp="http://schemas.android.com/apk/res-auto" > 

Измените myapp на ваше пространство имен приложений com.xxx.xxx

Попытайтесь скопировать файлы lib напрямую из папки yourfolder \ sdk \ extras \ android \ support \ v7 \ appcompat \ libs У меня есть аналогичная проблема, но она возникает, когда я непосредственно копирую файл библиотеки JAR, а не следуя процедуре библиотеки поддержки Android. , Попробуйте наоборот, это может сработать для вас. С любопытством, если вы спросите меня.

Intereting Posts
Получить позицию зрения относительно самого верхнего родителя в android Android Unzipping files Программно в Android Чтение файла кэша, ранее написанного одним и тем же приложением Как увидеть источник или javadocs для зависимости от библиотеки в пакете Android в Eclipse? Как упаковать и получить доступ к дополнительным файлам внутри моего apk Получение представления для элемента списка ListView / обратного порядка на 2.2; Работает на 4.0.3 Открывается множество баз данных Android Как получить выбранный элемент из ListView? Android Terminal-IDE: ошибка терминала-gcc: arm-eabi-gcc не найден Получение представления, которое получает все события касания Пользовательский Tabbar android Создайте изогнутую линию формы L с динамическими данными Как получить количество спутников, используемых в gps в android? AllShare Cast / Screen Cast не работает на некоторых телефонах Как запускается режим чтения в Firefox?