首页 > 解决方案 > 如何将搜索过滤器面板连接到 ArrayList并在 ExpandableListView 中显示结果?

问题描述

好吧,也许标题有点复杂。我将尝试在这里解释我需要什么。我有一个ArrayList<PlayerParameters>存储PlayerParameters类对象,我的 ExpandableListView 显示来自此类的一些字符串值(名称、年龄、城市等)。我想按这些值过滤我的项目。我找到了一个教程,教如何创建搜索面板:https ://medium.com/@makkenasrinivasarao1/expandablelistview-with-checkbox-radiobutton-in-android-af9ec9d81ddf 。问题是如何将此面板连接到我的 ArrayList 和 ExpandableListView。这是我将数据放入 ExpandableListView 的一段代码。

public void onCallback(ArrayList<PlayerParameters> playersList, ArrayList<String> playersNames) {
                listDataHeader = playersNames;
                String[] listDataHeaderArray = new String[listDataHeader.size()];
                playersNames.toArray(listDataHeaderArray);
                Collections.sort(listDataHeader);
                listDataChild = new HashMap<String, List<String>>();
                HashMap<String, ArrayList<String>> playerInfo = new HashMap<String, ArrayList<String>>();
                for (PlayerParameters j : playersList) {
                    ArrayList<String> infoList = new ArrayList<String>();
                    infoList.add("Nickname: " + j.getNickname());
                    infoList.add("Age: " + j.getAge());
                    infoList.add("City: " + j.getCity());
                    playerInfo.put(j.getName(), infoList);
                }

                for (int i = 0; i < listDataHeader.size(); i++){
                    listDataChild.put(listDataHeader.get(i), playerInfo.get(listDataHeader.get(i)));
                }

                ExpandableListView expListView = view.findViewById(R.id.lvExp);
                listAdapter = new ExpandableListAdapter(getActivity(), listDataHeader, listDataChild);
                expListView.setAdapter(listAdapter);
                expListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {

                    @Override
                    public boolean onGroupClick(ExpandableListView parent, View v,
                                                int groupPosition, long id) {

                        return false;
                    }
                });
}

标签: javaandroidarraylistfilterandroid-listview

解决方案


推荐阅读