Как использовать или обойти searchManager.getSearchableInfo() в Android API 7?

Я нигде не могу найти, как использовать библиотеку appcompat поддержки v7 с searchManager.getSearchableInfo().

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    MenuItem menuItem = (MenuItem) menu.findItem(R.id.search_widget);
    SearchView searchView = (SearchView) MenuItemCompat.getActionView(menuItem);
    searchView.setSubmitButtonEnabled(true);
    SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    searchView.setSearchableInfo( searchManager.getSearchableInfo(getComponentName()));
    return true;
}

Вот что я получаю:

Call requires API level 8 (current min is 7): android.app.SearchManager#getSearchableInfo   MainActivity.java   /MyApp/src/com/aat  line 113    Android Lint Problem

И если я проигнорирую ошибку с @TargetApi, я получу это:

11-21 22:14:48.108: E/AndroidRuntime(2387): java.lang.NoSuchMethodError: android.app.SearchManager.getSearchableInfo

Любая помощь?


person Dpedrinha    schedule 22.11.2013    source источник
comment
Это действительно было добавлено в API 8, см. здесь: developer.android.com/reference/android/app/   -  person Szymon    schedule 22.11.2013
comment
Я не сомневаюсь в Линте. Мне нужно обходное решение. Как мне сделать то же самое на API lvl 7?   -  person Dpedrinha    schedule 22.11.2013


Ответы (1)


Вы пробовали actionBarShelock с SearchViewCompat для API 7?

Лучшая альтернатива SearchView для Android API уровня 7 и вверх?

person Devante Holston    schedule 31.03.2015