Merge change I4039545e into eclair-mr2

* changes:
  Fire OnGroupClick events when collapsing a group in ExpandableListView.
This commit is contained in:
Android (Google) Code Review
2009-12-04 17:01:54 -08:00

View File

@ -33,7 +33,6 @@ import android.view.ContextMenu;
import android.view.SoundEffectConstants; import android.view.SoundEffectConstants;
import android.view.View; import android.view.View;
import android.view.ContextMenu.ContextMenuInfo; import android.view.ContextMenu.ContextMenuInfo;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.ExpandableListConnector.PositionMetadata; import android.widget.ExpandableListConnector.PositionMetadata;
/** /**
@ -515,6 +514,15 @@ public class ExpandableListView extends ListView {
if (posMetadata.position.type == ExpandableListPosition.GROUP) { if (posMetadata.position.type == ExpandableListPosition.GROUP) {
/* It's a group, so handle collapsing/expanding */ /* It's a group, so handle collapsing/expanding */
/* It's a group click, so pass on event */
if (mOnGroupClickListener != null) {
if (mOnGroupClickListener.onGroupClick(this, v,
posMetadata.position.groupPos, id)) {
posMetadata.recycle();
return true;
}
}
if (posMetadata.isExpanded()) { if (posMetadata.isExpanded()) {
/* Collapse it */ /* Collapse it */
mConnector.collapseGroup(posMetadata); mConnector.collapseGroup(posMetadata);
@ -524,17 +532,7 @@ public class ExpandableListView extends ListView {
if (mOnGroupCollapseListener != null) { if (mOnGroupCollapseListener != null) {
mOnGroupCollapseListener.onGroupCollapse(posMetadata.position.groupPos); mOnGroupCollapseListener.onGroupCollapse(posMetadata.position.groupPos);
} }
} else { } else {
/* It's a group click, so pass on event */
if (mOnGroupClickListener != null) {
if (mOnGroupClickListener.onGroupClick(this, v,
posMetadata.position.groupPos, id)) {
posMetadata.recycle();
return true;
}
}
/* Expand it */ /* Expand it */
mConnector.expandGroup(posMetadata); mConnector.expandGroup(posMetadata);