summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/widget/ListView.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/core/java/android/widget/ListView.java b/core/java/android/widget/ListView.java
index 569fe017ac86..1457d026ea39 100644
--- a/core/java/android/widget/ListView.java
+++ b/core/java/android/widget/ListView.java
@@ -49,6 +49,7 @@ import android.view.accessibility.AccessibilityNodeProvider;
import android.widget.RemoteViews.RemoteView;
import com.android.internal.R;
+import com.android.internal.util.Preconditions;
import com.google.android.collect.Lists;
@@ -335,6 +336,11 @@ public class ListView extends AbsListView {
* @param isSelectable whether the item is selectable
*/
public void addHeaderView(View v, Object data, boolean isSelectable) {
+ Preconditions.checkState(
+ v.getParent() == null,
+ "The specified child already has a parent. "
+ + "You must call removeView() on the child's parent first.");
+
final FixedViewInfo info = new FixedViewInfo();
info.view = v;
info.data = data;
@@ -429,6 +435,11 @@ public class ListView extends AbsListView {
* @param isSelectable true if the footer view can be selected
*/
public void addFooterView(View v, Object data, boolean isSelectable) {
+ Preconditions.checkState(
+ v.getParent() == null,
+ "The specified child already has a parent. "
+ + "You must call removeView() on the child's parent first.");
+
final FixedViewInfo info = new FixedViewInfo();
info.view = v;
info.data = data;