1

Я использую библиотеку поддержки совместимости Android для просмотра поиска панели действий. Как добавить событие, которое запускается, когда я нажимаю кнопку поиска на клавиатуре после ввода чего-либо?Как получить текст из панели действий библиотеки поддержки Android SearchView?

До сих пор у меня есть это:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.activity_users, menu); 

    MenuItem searchItem = menu.findItem(R.id.action_search); 
    SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem); 

    return super.onCreateOptionsMenu(menu); 
} 

Google docs page, кажется, не сказать мне это, это только показывает, как установить его ...
До сих пор я могу видеть значок поиска, и когда я нажимаю на него, он показывает EditText, и я могу ввести в него, а затем, если я нажму кнопку поиска на клавиатуре, ничего не произойдет. Я хочу, чтобы затем вызвать событие, которое может получить эту строку, чтобы я мог делать то, что мне нужно.
Кто-нибудь знает, как это сделать?

ответ

0

вы должны ознакомиться с документацией SearchView.

Вы можете установить подсказки для пользователя, получить запрос, ... и в то же время слушать слушателей, когда произойдет что-то «интересное».

Documentation for SearchView

2

Вы должны добавить QueryTextListener:

searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { 
    @Override 
    public boolean onQueryTextSubmit(String query) { 
     // TODO : query is the text from the search view 
     // after you clicked search 
     return true; 
    } 

    @Override 
    public boolean onQueryTextChange(String newText) { 
     // TODO : newText is the text from the search view 
     // (event triggered every time the text changes) 
     return false; 
    } 
});