子组件在 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 以表明事件已被消耗并且不会触发默认事件。
我是 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 以表明事件已被消耗并且不会触发默认事件。