8

Dies ist mein Code:Android Verwendung Support-Bibliothek unterstützen Suche

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { 
    MenuItem searchItem = menu.findItem(R.id.searchMenuItem); 
    SearchManager searchManager = 
     (SearchManager) getSystemService(Context.SEARCH_SERVICE); 
    SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem); 
    // searchView.set 
    searchView.setSearchableInfo(
     searchManager.getSearchableInfo(getComponentName())); 
    searchView.setIconifiedByDefault(false); 
} 

Meine Mindest API ist 8.
Ich habe diesen Compiler-Fehler

Call requires API level 11 (current min is 8): 
    android.widget.SearchView#setSearchableInfo 

Beachten Sie, dass ich nicht ändern kann das minimale SDK.

+0

Dieser Fehler kann ignoriert werden. Es gibt eine Einstellung in Eclipse, um es auszuschalten. Wenn Sie sich in einer anderen Datei in Eclipse befinden, wenn Sie die Debug-Schaltfläche drücken, wird der Build nicht gestoppt. –

+0

Verwenden Sie einen EditText anstelle von Searchview. Was ist der min sdk im Manifest? – Raghunandan

+0

was meinst du mit cant minimal sdk ändern? –

Antwort

9

Sie können android.support.v7.widget.SearchView

statt android.widget.SearchView

Ihr Code könnte wie folgt aussehen:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { 
       MenuItem searchItem = menu.findItem(R.id.searchMenuItem); 
       SearchManager searchManager = 
         (SearchManager) getSystemService(Context.SEARCH_SERVICE); 
       android.support.v7.widget.SearchView searchView = (android.support.v7.widget.SearchView) MenuItemCompat.getActionView(searchItem); 

       searchView.setSearchableInfo(
         searchManager.getSearchableInfo(getComponentName())); 
       searchView.setIconifiedByDefault(false); 

      } 

Lesen Sie auch mehr über SearchViewCompat

+0

Ich prüfe deine Lösung – user2059935

+0

Erstaunlich, vielen Dank – user2059935

Verwandte Themen