Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用自定义适配器在ListView中搜索_Java_Android_Listview - Fatal编程技术网

Java 如何使用自定义适配器在ListView中搜索

Java 如何使用自定义适配器在ListView中搜索,java,android,listview,Java,Android,Listview,我查看了以下站点: 它描述了如何在使用默认适配器的listview中实现搜索功能,并且运行良好 如何修改它,以便将其用于listview的自定义适配器 部分代码为: dataList = (ListView) findViewById(R.id.lvFiles); tvQuote = (TextView) findViewById(R.id.tvDisplay); tvQuote.setTypeface(Typeface.createFromAss

我查看了以下站点:

它描述了如何在使用默认适配器的listview中实现搜索功能,并且运行良好

如何修改它,以便将其用于listview的自定义适配器

部分代码为:

        dataList = (ListView) findViewById(R.id.lvFiles);
        tvQuote = (TextView) findViewById(R.id.tvDisplay);
        tvQuote.setTypeface(Typeface.createFromAsset(MainActivity.this.getAssets(), "fonts/roboto.ttf"));

        for (int y=0; y<strNamesOfAllah.length;y++) {
            name = strNamesOfAllah[y];
            meaning = strMeaning[y];
            rowsArray.add(new SetRows(R.drawable.icon, name, meaning));
        }
        adapter = new SetRowsCustomAdapter(MainActivity.this, R.layout.customlist, rowsArray);
        dataList.setAdapter(adapter);
        dataList.setClickable(true);
dataList=(ListView)findviewbyd(R.id.lvFiles);
tvQuote=(TextView)findViewById(R.id.tvDisplay);
setTypeface(Typeface.createFromAsset(MainActivity.this.getAssets(),“fonts/roboto.ttf”);

对于(int y=0;y,您需要覆盖适配器内部的getFilter,并返回您创建的新customFilter对象。请参阅以下答案:

编辑:

@Override
    public Filter getFilter() {
        if(customFilter == null){
            customFilter = new CustomFilter();
        }
        return customFilter;
    }

您需要在适配器内部重写getFilter,并返回您创建的新customFilter对象。请参阅以下答案:

编辑:

@Override
    public Filter getFilter() {
        if(customFilter == null){
            customFilter = new CustomFilter();
        }
        return customFilter;
    }

我在这里找到了一个很好的例子:但我不确定如何修改getFilter()以使用我的基本适配器()只需覆盖getFilter并创建一个新的,如果还不存在,请参见上面的编辑。完整代码是什么?我找到了一个自定义筛选函数,但我对其中一些变量感到困惑。你能看一下吗?getFilter代码应该放在适配器中,你应该创建自己的CustomFilter类,类似于链接I pos中的类这帮助我完成了代码:我在这里找到了一个很好的示例:但我不确定如何修改getFilter()以使用我的基本适配器()只需覆盖getFilter并创建一个新的,如果还不存在,请参见上面的编辑。完整代码是什么?我找到了一个自定义筛选函数,但我对其中一些变量感到困惑。你能看一下吗?getFilter代码应该放在适配器中,你应该创建自己的CustomFilter类,类似于链接I pos中的类这帮助我完成了以下代码: