Merge "Added an addAll to the ArrayAdapter"
This commit is contained in:
@ -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;
|
||||
@ -180,6 +181,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.
|
||||
*
|
||||
@ -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();
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user