簡體   English   中英

操作欄上的搜索功能可用於列表視圖

[英]Search function on action bar for list view

我需要幫助才能實現操作欄上的搜索功能 我本教程展示了如何使用簡單的列表項執行列表視圖,而我的代碼使用自定義Adapter類。

而不是getVeiw方法上的這段代碼:

view = getLayoutInflater().inflate(R.layout.list_black_text, null);

用這個

 if (view == null) {
        LayoutInflater inflater = (LayoutInflater) getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
        view= inflater.inflate(R.layout.list_black_text, null);
    }

也許這對你有用

看起來您的searchView為null。 代替這個:

inflater.inflate(R.menu.menu, menu);
MenuItem searchItem = menu.findItem(R.id.item_search);
SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);

用這個:

inflater.inflate(R.menu.menu, menu);
MenuItem searchItem = menu.findItem(R.id.item_search);
SearchView searchView = (SearchView) searchItem.getActionView();

並查看文檔

編輯

我復制了您的代碼並進行了測試。 我發現一個錯誤。 我不知道這是另一個錯誤還是您遇到的相同錯誤。

聲明ListView變量時,將設置為全局范圍,但是當給它一個值(R.id.listView值)時,則是聲明另一個具有方法范圍的ListView變量。

不要這樣做ListView listView = (ListView) findViewById(R.id.listView);

執行此listView = (ListView) findViewById(R.id.listView);

進行更改,此行: listView.setAdapter(customAdapter); 不會給你NullPointerException。

我希望修復您的代碼。 在其他情況下,您應該將logcat輸出放入問題中以獲取更多詳細信息。 以及您將來的問題;)。

這行代碼為您提供了空指針異常,因為它在當前布局中不存在。 檢查您的xml File man!

searchView.setOnQueryTextListener(new  SearchView.OnQueryTextListener(){

並瀏覽您的代碼中缺少內容; 搜索后視圖聲明

SearchView searchView =(SearchView)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM