2017-02-24 86 views
2

我正在學習本教程,我在可篩選searchview上看到一個大黑盒子。幾乎像烤麪包。任何想法是什麼以及如何擺脫它?我搜索了開發人員文檔,但無法找到任何信息。當我刪除onQueryTextChange的一部分時,它會完全停止過濾。許多親切的問候可過濾searchview上的大黑盒子

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

enter image description here

見代碼:

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

您能不能更新您的文章以包含您的代碼? –

+0

*帖子編輯爲 –

回答

1

變化list.setTextFilterEnabled(true);list.setTextFilterEnabled(false);

也能改變你onQueryTextChange到下面:

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


    filter.filter(newText); 
    return true; 
} 

Google

setTextFilterEnabled啓用或禁用型過濾器窗口。如果啓用,在此視圖具有焦點時鍵入將過濾孩子以匹配用戶輸入。

+0

不幸的是,將其改爲false會使整個列表不可用。我只是試圖刪除大黑框(正如在文本'AB'中看到的那樣)。 –

+0

請檢查我修改的帖子。 –

+0

太棒了!看起來像鑄造一個單獨的過濾器工作! –