RecyclerView控件补充
来源:互联网 发布:如何下载pdf软件 编辑:程序博客网 时间:2024/06/02 04:50
RecyclerView是最近很火的一个控件,他已经开始逐渐的取代listView和GriView这两个控件,主要是在于它强大的功能和方便的使用方式,而且配合SwipeRefreshLayout这个控件同时可以实现上拉加载、下拉刷新等等高级功能,效果也很是不错。今天我们就来讲一讲简单通过RecyclerView滑动删除条目的功能。
以前的相关博客传送门:
UI控件–RecyclerView(1)
UI控件–RecyclerView(2)
UI控件–SwipeRefreshLayout
效果图图下:
这里的滑动删除主要借助了ItemTouchHelper这个类,代码如下:
public class MainActivity extends AppCompatActivity implements SwipeRefreshLayout.OnRefreshListener { private SwipeRefreshLayout swipeRefreshLayout; private RecyclerView recyclerView; private List<String> dataList; private MyAdapter adapter; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initData(); initView(); } private void initData() { dataList = new ArrayList<>(); for (int i = 0; i < 20; i++) { dataList.add("数据" + i); } } private void initView() { swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipeRefreshLayout); swipeRefreshLayout.setColorSchemeResources(R.color.color1, R.color.color2, R.color.color3, R.color.color4); recyclerView = (RecyclerView) findViewById(R.id.recyclerView); LinearLayoutManager manager = new LinearLayoutManager(getApplicationContext(), LinearLayoutManager.VERTICAL, false); adapter = new MyAdapter(getApplicationContext(), dataList); recyclerView.setLayoutManager(manager); recyclerView.setAdapter(adapter); itemTouchHelper.attachToRecyclerView(recyclerView); swipeRefreshLayout.setOnRefreshListener(this); } ItemTouchHelper itemTouchHelper=new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(0,ItemTouchHelper.LEFT|ItemTouchHelper.RIGHT) { @Override public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) { //处理拖动事件 return false; } @Override public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) { //处理滑动事件 int poistion=viewHolder.getAdapterPosition(); dataList.remove(poistion); adapter.notifyItemRemoved(poistion); } }); @Override public void onRefresh() { for (int i = 0; i < 20; i++) { dataList.add("数据" + i); } adapter.notifyDataSetChanged(); swipeRefreshLayout.setRefreshing(false); }}
0 0
- RecyclerView控件补充
- RecyclerView补充
- RecyclerView(控件)
- C#控件补充
- C# 控件知识补充
- Retrofit2.1.0 + Glide + ToolBar + RecyclerView (补充)
- Android 新控件RecyclerView
- 常用控件(二) : RecyclerView
- 新控件 RecyclerView 用法
- UI控件RecyclerView浅析
- 学习RecyclerView控件
- Android5.0控件-RecyclerView
- RecyclerView控件的使用
- 高级控件 RecyclerView 总结
- android 控件 recyclerview
- Android控件—RecyclerView
- RecyclerView 控件使用
- RecyclerView控件学习01
- 最全的常用正则表达式大全
- android studio tabhost基础 多功能时钟app 实现闹钟功能(一)
- [LeetCode] 52. N-Queens II
- Android UI高级之RecyclerView
- SourceTree+OSChina+CocoaPods提交时,Pods提交失败解决办法:
- RecyclerView控件补充
- *** glibc detected *** free(): invalid pointer:解决方法
- 简短的废话
- ORACLE数据库---"ORA-00942: 表或视图不存在 "的原因和解决方法---续
- Design没有API选项
- IEnumerable和IEnumerator
- mysql 常用sql
- rac 中scan vip 是如何做到负载均衡的
- jQuery.html() 函数详解