Si8
Si8

Reputation: 9225

How to search within ListView with custom adapter

I looked at the following site: ListView Example

Which describes how to implement a search function in a listview which uses the default adapter and it works fine.

How can I modify it so I can use the same for a Custom Adapter for my listview?

Partial code is:

        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);

Upvotes: 1

Views: 1384

Answers (1)

pat
pat

Reputation: 1015

You need to override getFilter inside of your adapter and return a new customFilter object that you create. See this answer: No results with custom ArrayAdapter Filter

Edit:

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

Upvotes: 1

Related Questions