Функционирование представления поиска в actionbarsherlock

У меня есть sherlockactivity, implements и onItemClickListener. Затем я создаю новый ListView и помещаю в него данные. Я хочу создать поиск вверху в actionbarsherlock, как во многих известных приложениях.

Это мой код:

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
     SearchView searchView = new
             SearchView(getSupportActionBar().getThemedContext());
     menu.add("Search")
             .setActionView(searchView)
             .setShowAsAction(
                     MenuItem.SHOW_AS_ACTION_IF_ROOM
                             | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);

     return true;
 }

в настоящее время слово "поиск" отображается в верхней части моего actionbarsherlock. Если я нажму на него, textfield появится в actionbarsherlock. Но когда я что-нибудь набираю или нажимаю search (на клавиатуре), ничего не происходит. Что мне не хватает?


person John Jared    schedule 26.01.2014    source источник
comment
и что вы хотите, чтобы произошло?   -  person pskink    schedule 26.01.2014
comment
список обновлений с моими персонажами, как и во многих приложениях с функцией поиска.   -  person John Jared    schedule 26.01.2014
comment
вы читали это: developer.android.com/guide/topics /поиск/ ?   -  person pskink    schedule 26.01.2014
comment
Да, все еще это не отвечает на мои вопросы.   -  person John Jared    schedule 27.01.2014
comment
Вы реализовали какой-либо обратный вызов SearchView?   -  person pskink    schedule 27.01.2014
comment
Нет, единственный код, который я использовал, находится в вопросе   -  person John Jared    schedule 27.01.2014
comment
поэтому добавьте OnQueryTextListener и выполните поиск   -  person pskink    schedule 27.01.2014
comment
Вы можете показать мне, как?   -  person John Jared    schedule 27.01.2014


Ответы (1)


Эти два метода необходимо переопределить, чтобы контролировать, когда пользователь вводит в SearchView и когда пользователь нажимает кнопку поиска:

public class MyClass extends SherlockActivity implements SearchView.OnQueryTextListener{
...

    @Override
    public boolean onQueryTextSubmit(String query) {
        return false;
    }

    @Override
    public boolean onQueryTextChange(String newText) {
        return false;
    }
}

Тогда вам нужно

searchView.setOnQueryTextListener(this);
person voghDev    schedule 08.02.2014