2016-07-13 9 views
0

Ich habe eine SearchView. Dies ist mein Code:Android SearchView erhalten ImeOptionClick oder submitButton klicken

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.menu, menu); 
    // Retrieve the SearchView and plug it into SearchManager 
    final SearchView searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.action_search)); 
    SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE); 

    searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); 
    searchView.setImeOptions(EditorInfo.IME_ACTION_NEXT); 
    searchView.setSubmitButtonEnabled(true); 
    searchView.setOnSearchClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      System.out.println("SEARCH"); 
     } 
    }); 
    return true; 
} 

Frage 1:

Ich bin sehr neugierig auf wie kann ich die ImeOptions verwenden, die ich gesetzt habe , weil ich nicht setOnEditorActionListener wie EditText finden. Ist gibt es eine Möglichkeit, es genauso zu tun wie wir in EditText tun?

Frage 2:

Falls Frage 1 nicht möglich ist, dann habe ich eine Eigenschaft gefunden genannt searchView.setSubmitButtonEnabled(true); kann ich diese Schaltfläche Klick bekommen? Etwas wie setOnSubmitListner? Wenn nicht dann in welchem ​​Sinne oder wie kann die Submit verwendet werden?

Jeder Vorschlag Spürbar.


Das Motiv nach dem ganzen Wort eingeben ist der Benutzer klicken einreichen Taste oder imeNext für den Gang zum Nächsten Wort mit KeyBoard nicht geschlossen gehen .. !!

+0

wie diese tun, warum Sie 'setOnQueryTextListener' nicht verwenden? – pskink

+0

@jankigadhiya Ich war Postleitzahl für setOnQueryTextListner Chek und Sie können Beispiel dafür erhalten, wenn Sie suchen –

+0

@jankigadhiya, wenn Sie immer noch Problem lassen Sie mich wissen –

Antwort

1

Sie können

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
    super.onCreateOptionsMenu(menu, inflater); 

    SearchManager searchManager = (SearchManager) getActivity().getSystemService(Context.SEARCH_SERVICE); 
    searchMenuItem = menu.findItem(R.id.action_search); 
    searchView = (SearchView) searchMenuItem.getActionView(); 
    searchView.setSearchableInfo(searchManager.getSearchableInfo(getActivity().getComponentName())); 
    Log.i("TAG", "==>" + searchView.getQuery()); 
    searchView.setMaxWidth(570); 
    searchView.setIconifiedByDefault(false); 

    searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { 


     @Override 
     public boolean onQueryTextSubmit(String query) { 
      //searchView.setQuery("",false); 
      searchView.clearFocus(); 
      adapter.getFilter().filter(query); 
      searchText(query);//method for search text in that you can write your logic 

      return true; 

     } 


    }); } 

public void searchText(String text){//Write your logic here} 
+0

ich will es mit einer Schaltfläche senden –

+0

siehe diese Links-Methode hoffe, Sie erhalten eine Idee. https://developer.android.com/reference/android/widget/SearchView.html –

+0

welche Verbindung ?????? –

Verwandte Themen