Android Action Bar Search: Как отфильтровать список по свойству элемента списка?

У меня есть представление списка с элементом списка, который имеет несколько видов текста и флажок. Используя поиск по панели действий, мне нужно отфильтровать список по значению текстового представления.

Это мой список, который мне нужно отфильтровать по «Приоритету».

Это метод, который я использовал для фильтрации списка от получателя данных.

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main, menu);

     SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
        SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();

            searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
            searchView.setIconifiedByDefault(false);   

        SearchView.OnQueryTextListener textChangeListener = new SearchView.OnQueryTextListener() 
        {
            @Override
            public boolean onQueryTextChange(String newText) 
            {
                // this is your adapter that will be filtered
                dataAdapter.getFilter().filter(newText);
                System.out.println("on text chnge text: "+newText);
                return true;
            }
            @Override
            public boolean onQueryTextSubmit(String query) 
            {
                // this is your adapter that will be filtered
                dataAdapter.getFilter().filter(query);
                System.out.println("on query submit: "+query);
                return true;
            }
        };
        searchView.setOnQueryTextListener(textChangeListener);

        return super.onCreateOptionsMenu(menu);

}

Я установил dataAdopter для своего списка, который содержит несколько элементов, то есть 3 вида текста и флажок.

// create an ArrayAdaptar from the String Array
    dataAdapter = new MyCustomAdapter(this, R.layout.task_info, taskList);
    listView = (ListView) findViewById(R.id.listView1);
// Assign adapter to ListView
    listView.setAdapter(dataAdapter);

Но когда я устанавливаю адаптер следующим образом; используя только строковый массив значений, фильтрация происходит без проблем

String[] dataArray = new String[] {"High","Medium", "Low", "Medium", "High", "Low","High"};
listView = (ListView) findViewById(R.id.listview);
myAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,  dataArray);
listView.setAdapter(myAdapter);

Есть ли какой-либо метод, который я могу использовать для фильтрации списка по значению текстового представления внутри элемента списка? Или есть какой-нибудь альтернативный метод для реализации желаемой функциональности.

Ответы на вопрос(1)

Ваш ответ на вопрос