public static abstract class ItemTouchHelper.SimpleCallback
extends ItemTouchHelper.Callback
| java.lang.Object | ||
| android.support.v7.widget.helper.ItemTouchHelper.Callback | ||
| android.support.v7.widget.helper.ItemTouchHelper.SimpleCallback | ||
一个简单的包装到默认回调,你可以用拖拽和滑动方向来构造这个类,这个类将处理标志回调。 根据您的使用情况,您仍然应该覆盖onMove或onSwiped。
ItemTouchHelper mIth = new ItemTouchHelper(
new ItemTouchHelper.SimpleCallback(ItemTouchHelper.UP | ItemTouchHelper.DOWN,
ItemTouchHelper.LEFT) {
public abstract boolean onMove(RecyclerView recyclerView,
ViewHolder viewHolder, ViewHolder target) {
final int fromPos = viewHolder.getAdapterPosition();
final int toPos = viewHolder.getAdapterPosition();
// move item in `fromPos` to `toPos` in adapter.
return true;// true if moved, false otherwise
}
public void onSwiped(ViewHolder viewHolder, int direction) {
// remove from adapter
}
});
Inherited constants |
|---|
android.support.v7.widget.helper.ItemTouchHelper.Callback
|
Public constructors |
|
|---|---|
ItemTouchHelper.SimpleCallback(int dragDirs, int swipeDirs) 为给定的拖动和滑动限额创建一个回叫。 |
|
公共方法(Public methods) |
|
|---|---|
int |
getDragDirs(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) 返回提供的ViewHolder的拖动方向。 |
int |
getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) 应该返回一个组合标志,该标志定义每个状态下的启用移动方向(空闲,滑动,拖动)。 |
int |
getSwipeDirs(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) 返回提供的ViewHolder的滑动方向。 |
void |
setDefaultDragDirs(int defaultDragDirs) 更新默认的拖动方向。 |
void |
setDefaultSwipeDirs(int defaultSwipeDirs) 更新默认滑动方向。 |
继承方法(Inherited methods) |
|
|---|---|
android.support.v7.widget.helper.ItemTouchHelper.Callback
|
|
java.lang.Object
|
|
ItemTouchHelper.SimpleCallback (int dragDirs,
int swipeDirs)
为给定的拖动和滑动限额创建一个回叫。 这些值用作默认值,如果您想为每个ViewHolder定制行为,则可以覆盖getSwipeDirs(RecyclerView, ViewHolder)和/或getDragDirs(RecyclerView, ViewHolder) 。
| 参数(Parameters) | |
|---|---|
dragDirs |
int: Binary OR of direction flags in which the Views can be dragged. Must be composed of LEFT, RIGHT, START, END, UP and DOWN. |
swipeDirs |
int: Binary OR of direction flags in which the Views can be swiped. Must be composed of LEFT, RIGHT, START, END, UP and DOWN. |
int getDragDirs (RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder)
返回提供的ViewHolder的拖动方向。 默认实现返回通过构造函数或setDefaultDragDirs(int)设置的拖动方向。
| 参数(Parameters) | |
|---|---|
recyclerView |
RecyclerView: The RecyclerView to which the ItemTouchHelper is attached to. |
viewHolder |
RecyclerView.ViewHolder: The RecyclerView for which the swipe drection is queried. |
| 返回(Returns) | |
|---|---|
int |
A binary OR of direction flags. |
int getMovementFlags (RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder)
应该返回一个组合标志,该标志定义每个状态下的启用移动方向(空闲,滑动,拖动)。
您可以使用 makeMovementFlags(int, int)或 makeFlag(int, int)而不是手动组合此标志。
该标志由3组8位组成,其中前8位用于IDLE状态,后8位用于SWIPE状态,第3位8位用于DRAG状态。 每个8位段可以通过在ItemTouchHelper定义的简单或方向标志来ItemTouchHelper 。
例如,如果您希望允许向左和向右滑动但只允许通过向右滑动来开始滑动,则可以返回:
makeFlag(ACTION_STATE_IDLE, RIGHT) | makeFlag(ACTION_STATE_SWIPE, LEFT | RIGHT);This means, allow right movement while IDLE and allow right and left movement while swiping.
| 参数(Parameters) | |
|---|---|
recyclerView |
RecyclerView: The RecyclerView to which ItemTouchHelper is attached. |
viewHolder |
RecyclerView.ViewHolder: The ViewHolder for which the movement information is necessary. |
| 返回(Returns) | |
|---|---|
int |
flags specifying which movements are allowed on this ViewHolder. |
int getSwipeDirs (RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder)
返回提供的ViewHolder的滑动方向。 默认实现返回通过构造函数或setDefaultSwipeDirs(int)设置的滑动方向。
| 参数(Parameters) | |
|---|---|
recyclerView |
RecyclerView: The RecyclerView to which the ItemTouchHelper is attached to. |
viewHolder |
RecyclerView.ViewHolder: The RecyclerView for which the swipe drection is queried. |
| 返回(Returns) | |
|---|---|
int |
A binary OR of direction flags. |
void setDefaultDragDirs (int defaultDragDirs)
更新默认的拖动方向。 例如,您可以使用此方法根据您的用例切换某些方向。
| 参数(Parameters) | |
|---|---|
defaultDragDirs |
int: Binary OR of directions in which the ViewHolders can be dragged. |
void setDefaultSwipeDirs (int defaultSwipeDirs)
更新默认滑动方向。 例如,您可以使用此方法根据您的用例切换某些方向。
| 参数(Parameters) | |
|---|---|
defaultSwipeDirs |
int: Binary OR of directions in which the ViewHolders can be swiped. |