Фильтровать один список Android в зависимости от другого списка - PullRequest
0 голосов
/ 10 октября 2018

У меня есть 2 списка в 2 разных адаптерах.Первый список отображает категории, второй - имена.Что-то вроде:

List 1
- Dogs
- Cats

List 2
- Pluto (Dogs)
- Oliver (Cats)
- Billo (Cats)

Второй список включает в себя категорию (скрытый просмотр текста в item.xml).Что я хотел бы сделать, так это то, что при нажатии элемента «Dogs» во втором списке должен отображаться только элемент «Pluto» или при нажатии «Cats» во втором списке должно отображаться «Oliver».и "Billo".

Я попробовал этот сценарий следующим образом;Первый список с его адаптером

adapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_list_item_1, android.R.id.text1, categories);
                    listView.setAdapter(adapter);

, а затем щелкните элемент

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                        @Override
                        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                            String itemValue = (String) listView.getItemAtPosition(position);
                            getAdapter().getFilter().filter(itemValue);
                        }
                    });

Этот getAdapter().getFilter().filter(itemValue) должен отфильтровать второй список, но он не работает.Когда я касаюсь одного из элементов, элементы второго списка исчезают.Но, если я попытаюсь таким образом

getAdapter().getFilter().filter("Pluto");

, это сработает.И это фильтрует второй список.Я не могу понять, почему не работает, используя категории

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...