Android Searchable не работает - PullRequest
12 голосов
/ 29 марта 2012

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

Я следовал инструкциям документа разработчика, начиная с manifest.xml, метаданные добавляются в операцию searchresult:

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name=".GermanDictionaryActivity"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".SearchResultsActivity">
        <intent-filter>
            <action android:name="android.intent.action.SEARCH" />
        </intent-filter> 
        <meta-data android:name="android.app.searchable"
            android:resource="@xml/searchable" />
    </activity>
</application>

затем я инициализировал поисковое представление с моим меню:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.srhbar, menu);

    // Get the SearchView and set the searchable configuration
    SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    mSrhView = (SearchView) menu.findItem(R.id.search).getActionView();
    mSrhView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
    mSrhView.setSubmitButtonEnabled(true);

    return true;
}

И элемент для поиска в меню:

<item android:id="@+id/search"
    android:title="@string/srh_title"
    android:showAsAction="collapseActionView|ifRoom"
    android:actionViewClass="android.widget.SearchView" />

Любой связанный ответ приветствуется!

1 Ответ

14 голосов
/ 24 ноября 2013

Я решил проблему, изменив эту строку:

searchView.setSearchableInfo(searchManager.getSearchableInfo(new ComponentName(getApplicationContext(), SearchResultsActivity.class)));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...