子组件在 GroupClick 事件中被渲染两次

Child component gets rendered twice onGroupClick event

我是 android 的初学者,我尝试使用 ExpandableListView,但遇到了一些问题。

我在 Activity 中为 ExpandableListView 举办了一个 setOnGroupClickListner 活动。出于某种原因,当我单击该组时,它呈现 childView twice,为了关闭它,我必须单击两次。每次点击只有一个 childView 被隐藏。

以下是我的代码

    expandableListView = (ExpandableListView) findViewById(R.id.alarm_list);

    alist = new Alist(this, headings, childItems);
    expandableListView.setAdapter(alist);

    //setting an expand group listener
    expandableListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
        @Override
        public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
            Log.e("onGroupClick:", "worked");
            parent.expandGroup(groupPosition);
            return false;
        }
    });

现在,如果我在 onGroupClick 函数中写 return true 而不是 return false,我可以以某种方式解决这个问题。

谁能解释一下解决这个问题有什么作用?我在某处读到,如果我 return true,则表示 click was handled,但我无法理解它的确切含义。

感谢任何帮助。提前致谢

我没有使用过 ExpandableListView,但对我来说,您似乎不必明确地 setOnGroupClickListener,因为它会自动为您完成。如果您仍然需要更改默认行为,那么您可以随意覆盖它,但您需要 return true 以表明事件已被消耗并且不会触发默认事件。