Merge change I4039545e into eclair-mr2
* changes: Fire OnGroupClick events when collapsing a group in ExpandableListView.
This commit is contained in:
@ -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;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -514,37 +513,36 @@ public class ExpandableListView extends ListView {
|
|||||||
boolean returnValue;
|
boolean returnValue;
|
||||||
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);
|
||||||
|
|
||||||
playSoundEffect(SoundEffectConstants.CLICK);
|
playSoundEffect(SoundEffectConstants.CLICK);
|
||||||
|
|
||||||
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);
|
||||||
|
|
||||||
playSoundEffect(SoundEffectConstants.CLICK);
|
playSoundEffect(SoundEffectConstants.CLICK);
|
||||||
|
|
||||||
if (mOnGroupExpandListener != null) {
|
if (mOnGroupExpandListener != null) {
|
||||||
mOnGroupExpandListener.onGroupExpand(posMetadata.position.groupPos);
|
mOnGroupExpandListener.onGroupExpand(posMetadata.position.groupPos);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
returnValue = true;
|
returnValue = true;
|
||||||
} else {
|
} else {
|
||||||
/* It's a child, so pass on event */
|
/* It's a child, so pass on event */
|
||||||
@ -553,12 +551,12 @@ public class ExpandableListView extends ListView {
|
|||||||
return mOnChildClickListener.onChildClick(this, v, posMetadata.position.groupPos,
|
return mOnChildClickListener.onChildClick(this, v, posMetadata.position.groupPos,
|
||||||
posMetadata.position.childPos, id);
|
posMetadata.position.childPos, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
returnValue = false;
|
returnValue = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
posMetadata.recycle();
|
posMetadata.recycle();
|
||||||
|
|
||||||
return returnValue;
|
return returnValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user