diff options
author | Jean-Baptiste Queru <jbq@google.com> | 2010-06-14 09:27:14 -0700 |
---|---|---|
committer | Android Code Review <code-review@android.com> | 2010-06-14 09:27:14 -0700 |
commit | 5978bcc32b1c3e05bd44600d1c5b0a18122487ea (patch) | |
tree | b05aad49d4a209fe2dfeace097da2dcfd8668bb3 /core | |
parent | a2e2d20256923094d8f511d02ff09b655916fecf (diff) | |
parent | 8c582ef859fcbbb97623d22024c3ecb32b65c5ef (diff) | |
download | frameworks_base-5978bcc32b1c3e05bd44600d1c5b0a18122487ea.zip frameworks_base-5978bcc32b1c3e05bd44600d1c5b0a18122487ea.tar.gz frameworks_base-5978bcc32b1c3e05bd44600d1c5b0a18122487ea.tar.bz2 |
Merge "Added an addAll to the ArrayAdapter"
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/widget/ArrayAdapter.java | 43 |
1 files changed, 41 insertions, 2 deletions
diff --git a/core/java/android/widget/ArrayAdapter.java b/core/java/android/widget/ArrayAdapter.java index 32e5504..03ada94 100644 --- a/core/java/android/widget/ArrayAdapter.java +++ b/core/java/android/widget/ArrayAdapter.java @@ -24,6 +24,7 @@ import android.view.ViewGroup; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collection; import java.util.List; import java.util.Comparator; import java.util.Collections; @@ -83,7 +84,7 @@ public class ArrayAdapter<T> extends BaseAdapter implements Filterable { */ private boolean mNotifyOnChange = true; - private Context mContext; + private Context mContext; private ArrayList<T> mOriginalValues; private ArrayFilter mFilter; @@ -181,6 +182,44 @@ public class ArrayAdapter<T> extends BaseAdapter implements Filterable { } /** + * Adds the specified Collection at the end of the array. + * + * @param collection The Collection to add at the end of the array. + */ + public void addAll(Collection<? extends T> collection) { + if (mOriginalValues != null) { + synchronized (mLock) { + mOriginalValues.addAll(collection); + if (mNotifyOnChange) notifyDataSetChanged(); + } + } else { + mObjects.addAll(collection); + if (mNotifyOnChange) notifyDataSetChanged(); + } + } + + /** + * Adds the specified items at the end of the array. + * + * @param items The items to add at the end of the array. + */ + public void addAll(T ... items) { + if (mOriginalValues != null) { + synchronized (mLock) { + for (T item : items) { + mOriginalValues.add(item); + } + if (mNotifyOnChange) notifyDataSetChanged(); + } + } else { + for (T item : items) { + mObjects.add(item); + } + if (mNotifyOnChange) notifyDataSetChanged(); + } + } + + /** * Inserts the specified object at the specified index in the array. * * @param object The object to insert into the array. @@ -236,7 +275,7 @@ public class ArrayAdapter<T> extends BaseAdapter implements Filterable { */ public void sort(Comparator<? super T> comparator) { Collections.sort(mObjects, comparator); - if (mNotifyOnChange) notifyDataSetChanged(); + if (mNotifyOnChange) notifyDataSetChanged(); } /** |