在列表视图的操作栏上搜索功能

时间:2017-04-16 07:17:53

标签: java android listview arraylist

我需要帮助才能在操作栏上实现搜索功能。本教程展示了如何使用简单列表项进行列表视图,而我的代码,我使用自定义适配器类。

3 个答案:

答案 0 :(得分:1)

而不是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);
    }

也许这对你有用

答案 1 :(得分:0)

看起来您的searchView为空。而不是:

$(document).ready(function(){

使用此:

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

并查看documentation

修改

我复制了你的代码并进行了测试。我发现了一个错误。我不知道是否是另一个错误或是您遇到的错误。

当您声明ListView变量时,您将设置为全局范围,但是当您为其赋予值(R.id.listView值)时,您将声明另一个具有方法范围的ListView变量。

不要这样做inflater.inflate(R.menu.menu, menu); MenuItem searchItem = menu.findItem(R.id.item_search); SearchView searchView = (SearchView) searchItem.getActionView();

执行此操作ListView listView = (ListView) findViewById(R.id.listView);

进行更改后,这一行:listView = (ListView) findViewById(R.id.listView);不会给你NullPointerException。

我希望修复您的代码。在其他情况下,您应该将logcat输出放在您的问题中以获取更多详细信息。在你未来的问题中也是如此;)。

答案 2 :(得分:0)

  

这行代码为您提供空指针异常,因为它没有   存在于您当前的布局中。检查你的xml File man!

searchView.setOnQueryTextListener(new  SearchView.OnQueryTextListener(){
  

通过你的代码查看有一个缺失;搜索视图后   声明

SearchView searchView =(SearchView)