我有实施以下方案的问题。我的任务是,
到目前为止,我使用以下代码来实现此目的,
holder.layoutOne.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Log.v("Position", "" + position);
if (holder.layoutTwo.getVisibility() == View.VISIBLE) {
holder.layoutTwo.setVisibility(View.GONE);
} else {
holder.layoutTwo.setVisibility(View.VISIBLE);
}
}
});
根据上面的代码,我检查了布局二的可见性,如果它可见我关闭它,否则我展示了layoutTwo。我知道这个代码只适用于同一个项目点击,但我为其他人做了同样的事情,请分享你的想法。
图像:
答案 0 :(得分:0)
您应该使用ExpandableListView并绑定BaseExpandableListAdapter。
完成后,您可以在列表中添加一个侦听器,名为OnGroupExpandListener
假设你有一个扩展Activity的A类。在这个类中,您实例化一个ExpandableListView:
ExpandableListView expListView.
现在你有一个ExpandableListView对象。
为此你需要绑定一个适配器(BaseExpandableListAdpater) - 创建一个扩展BaseExpandableListAdpater的类B
对于expListView对象,你可以调用OnGroupExpandListener(它听取对groupItems的点击。我认为这是你想要的吗?)
expListView.setOnGroupExpandListener(new OnGroupExpandListener() {
public void onGroupExpand(int groupPosition) {
final int group_position = groupPosition;
int len = adapter.getGroupCount();
for (int i = 0; i < len; i++) {
if (i != groupPosition) {
expListView.collapseGroup(i);
}
}
}
});