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