2017-02-24 5 views
2

Ich folge diesem Tutorial und ich sehe eine große schwarze Box auf filterbare Searchview. Fast wie ein Toast. Irgendeine Idee was es ist und wie man es los wird? Ich habe die Entwicklerdokumentation durchsucht und konnte keine Informationen darüber finden. Wenn ich Teile von onQueryTextChange entferne, wird die Filterung beendet. Viele freundlichen GrüßenGroße schwarze Box auf filterbaren Suchansicht

http://www.coderzheaven.com/2013/06/01/create-searchview-filter-mode-listview-android/

enter image description here

Siehe Code:

SearchView search = (SearchView) findViewById(R.id.search); 
    ListView list = (ListView) findViewById(R.id.listView); 

    final String[] mStrings = {"1", "2", "text", "more text", "more text here"}; 

    list.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mStrings)); 
    list.setTextFilterEnabled(true); 
    setupSearchView(); 

...

private void setupSearchView() { 
    search.setIconifiedByDefault(false); 
    search.setOnQueryTextListener(this); 
    search.setSubmitButtonEnabled(false); 
    search.setQueryHint("Search Here"); 
} 

public boolean onQueryTextChange(String newText) { 
    if (TextUtils.isEmpty(newText)) { 
     list.clearTextFilter(); 
    } else { 
     list.setFilterText(newText.toString()); 

    } 
    return true; 
} 

public boolean onQueryTextSubmit(String query) { 
    return false; 
} 
+1

Könnten Sie bitte Ihren Beitrag aktualisieren, um Ihren Code einzuschließen? –

+0

* Beitrag ist bearbeitet –

Antwort

1

ändern list.setTextFilterEnabled(true);-list.setTextFilterEnabled(false);.

Auch Ihre onQueryTextChange an die unten ändern:

@Override 
public boolean onQueryTextChange(String newText) { 
    CustomAdapter customAdapter = (customAdapter)list.getAdapter(); 
    Filter filter = customAdapter.getFilter(); 


    filter.filter(newText); 
    return true; 
} 

Nach Google,

setTextFilterEnabled Aktiviert oder deaktiviert die Filterfenster. Wenn diese Option aktiviert ist, werden die untergeordneten Elemente so gefiltert, dass sie der Eingabe des Benutzers entsprechen, wenn diese Ansicht den Fokus hat.

+0

leider, wenn Sie dies auf false ändern, wird die ganze Liste unfiltrierbar. Ich versuche nur, die große schwarze Box zu entfernen (wie im Snip mit dem Text 'AB' zu sehen). –

+0

Bitte überprüfen Sie meine überarbeitete Post. –

+0

Super! Sieht so aus, als ob ein separater Filter funktioniert! –

Verwandte Themen