代码拉取完成,页面将自动刷新
//build.gradle(Project:)
allprojects {
repositories {
...
maven { url 'https://www.jitpack.io' }
}
}
//build.gradle(Module:)
dependencies {
compile 'com.github.goweii:SwipeDragTreeRecyclerView:v1.2.0'
}
<android.support.v7.widget.RecyclerView
android:id="@+id/swipe_drag_tree_recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</android.support.v7.widget.RecyclerView>
public class TestTreeState extends TreeState {
public static final int TYPE_ONE = 1;
public static final int TYPE_TEO = 2;
public static final int TYPE_THREE = 3;
public static final int TYPE_FOUR = 4;
}
public class TestBaseSwipeDragTreeAdapter extends BaseSwipeDragTreeAdapter {
private final int mOrientationType;
public TestBaseSwipeDragTreeAdapter(int orientationType) {
super();
mOrientationType = orientationType;
}
@Override
public void initIds() {
putTypeLayoutViewIds(TestTreeState.TYPE_ONE, R.layout.item1_swipe_drag_tree_recycler_view,
new int[]{R.id.item1_sdtrv_tv}, null);
putTypeLayoutViewIds(TestTreeState.TYPE_TEO, R.layout.item2_swipe_drag_tree_recycler_view,
new int[]{R.id.item2_sdtrv_tv}, null);
putTypeLayoutViewIds(TestTreeState.TYPE_THREE, R.layout.item3_swipe_drag_tree_recycler_view,
new int[]{R.id.item3_sdtrv_tv}, null);
putTypeLayoutViewIds(TestTreeState.TYPE_FOUR, R.layout.item4_swipe_drag_tree_recycler_view,
new int[]{R.id.item4_sdtrv_tv}, null);
putTypeLayoutViewIds(TestTreeState.TYPE_LEAF, R.layout.item5_swipe_drag_tree_recycler_view,
new int[]{R.id.item5_sdtrv_tv}, null);
putTypeStartDragViewIds(TestTreeState.TYPE_ONE,
new int[]{R.id.item1_sdtrv_tv}, null);
putTypeStartDragViewIds(TestTreeState.TYPE_TEO,
new int[]{R.id.item2_sdtrv_tv}, null);
putTypeStartDragViewIds(TestTreeState.TYPE_THREE,
new int[]{R.id.item3_sdtrv_tv}, null);
putTypeStartDragViewIds(TestTreeState.TYPE_FOUR,
new int[]{R.id.item4_sdtrv_tv}, null);
putTypeStartDragViewIds(TestTreeState.TYPE_LEAF,
new int[]{R.id.item5_sdtrv_tv}, null);
}
@Override
protected void bindData(BaseViewHolder holder, TypeData data) {
SwipeDragTreeViewHolder viewHolder = (SwipeDragTreeViewHolder) holder;
switch (holder.getItemViewType()) {
case TestTreeState.TYPE_ONE:
TextView textView0 = (TextView) viewHolder.getView(R.id.item1_sdtrv_tv);
textView0.setText((String) data.getData());
break;
case TestTreeState.TYPE_TEO:
TextView textView1 = (TextView) viewHolder.getView(R.id.item2_sdtrv_tv);
textView1.setText((String) data.getData());
break;
case TestTreeState.TYPE_THREE:
TextView textView2 = (TextView) viewHolder.getView(R.id.item3_sdtrv_tv);
textView2.setText((String) data.getData());
break;
case TestTreeState.TYPE_FOUR:
TextView textView3 = (TextView) viewHolder.getView(R.id.item4_sdtrv_tv);
textView3.setText((String) data.getData());
break;
case TestTreeState.TYPE_LEAF:
TextView textView4 = (TextView) viewHolder.getView(R.id.item5_sdtrv_tv);
textView4.setText((String) data.getData());
break;
default:
break;
}
}
}
mSwipeDragTreeRecyclerView.setLayoutManager(getLayoutManager());
mSwipeDragTreeRecyclerView.setAdapter(mTestBaseSwipeDragTreeAdapter);
mTestBaseSwipeDragTreeAdapter.init(mDatas);
给适配器绑定数据
获取分组关闭后是否记忆子分组的展开状态
设置分组关闭后是否记忆子分组的展开状态
获取是否已经展开所有分组
展开所有分组
关闭所有分组
获取该 holder 位置所显示数据在树形结构数据中所处的位置
设置 item 展开状态改变监听器
更新数据滑动删除,在监听器中调用更新数据
更新数据拖拽移动,在监听器中调用更新数据
设置滑动删除监听器,应该调用 notifyItemSwipe 方法更新数据显示
设置 item 拖拽监听器,应该调用 notifyItemDrag 方法更新数据显示
设置开启关闭滑动删除
设置开启关闭长按拖拽
设置开启关闭滑动删除背景色
获取是否开启滑动删除
获取是否开启长按拖拽
获取是否开启滑动删除背景色
设置滑动删除背景色颜色
设置可以滑动删除的方向,默认为垂直于滚动方向的2个方向
设置可以拖拽的方向,线性布局默认为平行于滚动方向的2个方向,网格和流布局默认为上下左右4个方向都可以
设置 itemView 点击监听器
设置 itemView 长按监听器
设置 item 子 view 点击监听器,需要在适配器的 initIds() 方法中开启
设置 item 子 view 长按监听器,需要在适配器的 initIds() 方法中开启
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型