2012-03-30 16 views
10

Zmieniam klawiaturę programowalną z Androidem, aby wyświetlać ikonę wyszukiwania zamiast ikony Enter. Moje pytanie brzmi: jak mogę wykryć, że użytkownik kliknął ten przycisk wyszukiwania?wykryj przycisk wyszukiwania klawiatury

Odpowiedz

22

W edytorze tekstu można było użyć opcji metody wprowadzania danych do wyszukiwania.

<EditText 
     android:imeOptions="actionSearch" 
     android:inputType="text"/> 

Teraz użyj słuchacza Editor na EditText obsłużyć zdarzenia wyszukiwarki, jak pokazano poniżej:

editText.setOnEditorActionListener(new TextView.OnEditorActionListener() { 
    @Override 
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
     if (actionId == EditorInfo.IME_ACTION_SEARCH) { 
      // Your piece of code on keyboard search click 
      return true; 
     } 
     return false; 
    } 
}); 
+0

mój kod nie działa z tej metody !! to nie działa dla mnie – Fcoder

+0

Podziel się swoim kodem .. –

+1

"To nie działa" nigdy nikomu nie pomogło. Bycie konkretnym to najbardziej niesamowita rzecz! – f2lollpll

0

Można użyć OnQuerySubmit słuchacza dostać klawiatury Search przycisk zdarzenie click.

Oto sposób,

searchView.setOnQueryTextListener(queryTextListener); 

SearchView.OnQueryTextListener queryTextListener 
     = new SearchView.OnQueryTextListener() { 
    @Override 
    public boolean onQueryTextSubmit(String s) { 
     showLog("searchClickListener onQueryTextSubmit"); 
     getPhotos(searchView.getQuery().toString()); 
     return true; 
    } 

    @Override 
    public boolean onQueryTextChange(String s) { 
     return false; 
    } 
}; 
Powiązane problemy