public static abstract class SortedList.Callback
extends Object
implements Comparator<T2>
java.lang.Object | |
↳ | android.support.v7.util.SortedList.Callback<T2> |
Known Direct Subclasses |
该类控制着 SortedList
的行为。
它定义了项目应如何排序以及如何处理重复项目。
SortedList调用此类上的回调方法来通知有关基础数据的更改。
Public constructors |
|
---|---|
SortedList.Callback() |
Public methods |
|
---|---|
abstract boolean |
areContentsTheSame(T2 oldItem, T2 newItem) 当它想要检查两个项目是否具有相同的数据时,由SortedList调用。 |
abstract boolean |
areItemsTheSame(T2 item1, T2 item2) 由SortedList调用来决定两个对象是否代表相同的Item。 |
abstract int |
compare(T2 o1, T2 o2) 类似于 |
abstract void |
onChanged(int position, int count) 当给定位置上的项目更新时,由SortedList调用。 |
abstract void |
onInserted(int position, int count) 当物品插入给定位置时,由SortedList调用。 |
abstract void |
onMoved(int fromPosition, int toPosition) 当项目在列表中改变其位置时,由SortedList调用。 |
abstract void |
onRemoved(int position, int count) 当一个项目从给定的位置移除时,由SortedList调用。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
|
From interface java.util.Comparator
|
SortedList.Callback ()
boolean areContentsTheSame (T2 oldItem, T2 newItem)
当它想要检查两个项目是否具有相同的数据时,由SortedList调用。 SortedList使用这些信息来决定是否应该调用onChanged(int, int)
。
SortedList使用此方法检查等式而不是 equals(Object)
以便您可以根据您的UI更改其行为。
例如,如果您将SortedList与 RecyclerView.Adapter
一起使用,则应该返回项目的可视表示是否相同。
Parameters | |
---|---|
oldItem |
T2 : The previous representation of the object. |
newItem |
T2 : The new object that replaces the previous one. |
Returns | |
---|---|
boolean |
True if the contents of the items are the same or false if they are different. |
boolean areItemsTheSame (T2 item1, T2 item2)
由SortedList调用来决定两个对象是否代表相同的Item。
例如,如果您的项目具有唯一的ID,则此方法应检查它们的相等性。
Parameters | |
---|---|
item1 |
T2 : The first item to check. |
item2 |
T2 : The second item to check. |
Returns | |
---|---|
boolean |
True if the two items represent the same object or false if they are different. |
int compare (T2 o1, T2 o2)
类似于 compare(Object, Object)
,应该比较两个并返回它们应如何订购。
Parameters | |
---|---|
o1 |
T2 : The first object to compare. |
o2 |
T2 : The second object to compare. |
Returns | |
---|---|
int |
a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second. |
void onChanged (int position, int count)
当给定位置上的项目更新时,由SortedList调用。
Parameters | |
---|---|
position |
int : The position of the item which has been updated. |
count |
int : The number of items which has changed. |
void onInserted (int position, int count)
当物品插入给定位置时,由SortedList调用。
Parameters | |
---|---|
position |
int : The position of the new item. |
count |
int : The number of items that have been added. |
void onMoved (int fromPosition, int toPosition)
当项目在列表中改变其位置时,由SortedList调用。
Parameters | |
---|---|
fromPosition |
int : The previous position of the item before the move. |
toPosition |
int : The new position of the item. |
void onRemoved (int position, int count)
当一个项目从给定的位置移除时,由SortedList调用。
Parameters | |
---|---|
position |
int : The position of the item which has been removed. |
count |
int : The number of items which have been removed. |