安卓-ListView侧滑(二)之SwipeMenuListView添加menu.getViewType()属性控制是否侧滑
来源:互联网 发布:python compile 编辑:程序博客网 时间:2024/05/21 07:02
这篇博客记录的是曾经做过的一个项目,需求是一个list里面要求有的部分可以侧滑删除,有的部分不可以,侧滑用的是开源项目SwipeMenuListView在网上查了些资料,根据这个需求又自己做了调整,终于完美的解决了,好,上代码。
1.在gradle中添加dependency
dependencies { compile 'com.baoyz.swipemenulistview:library:1.3.0'}
2.xml布局
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <com.baoyz.swipemenulistview.SwipeMenuListView android:id="@+id/slv_list" android:layout_width="match_parent" android:dividerHeight="0dp" android:layout_height="wrap_content" android:background="@color/transport"> </com.baoyz.swipemenulistview.SwipeMenuListView> </LinearLayout></RelativeLayout>
3.adapter处理
//定义这两个参数 public static final int viewtype_normaldata = 0; public static final int viewtype_erpdata = 1;//添加这两方法 @Override public int getViewTypeCount() { // menu type count return 2; } @Override public int getItemViewType(int position) { // current menu type // String type=list.get(position).getType(); return list.get(position).getType().equals("info")?viewtype_normaldata:viewtype_erpdata; }
4.activity
mesData=new ArrayList<MessageAllObject>(); //mesData数据自己添加,其中要有type参数来判断是那种类型 messageAllAdapter=new MessageAllAdapter(getContext(),mesData); slv_list.setAdapter(messageAllAdapter); SwipeMenuCreator creator = new SwipeMenuCreator() { @Override public void create(SwipeMenu menu) { switch (menu.getViewType()) { case MessageAllAdapter.viewtype_normaldata: break; case MessageAllAdapter.viewtype_erpdata: SwipeMenuItem deleteItem = new SwipeMenuItem(PSApplication.getAppBaseContext()); // set item background deleteItem.setBackground(R.drawable.delete_button); // set item width deleteItem.setWidth(dp2px(120)); // set a icon // deleteItem.setIcon(R.drawable.ic_delete); // add to menu menu.addMenuItem(deleteItem); break; } } }; //监听滑动项的事件 slv_list.setMenuCreator(creator); slv_list.setOnMenuItemClickListener(new SwipeMenuListView.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(int position, SwipeMenu menu, int index) { switch (index) { case 0: //删除操作 break; default: break; } return false; } }); //item的点击事件 slv_list.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { //点击操作 } });
阅读全文
0 0
- 安卓-ListView侧滑(二)之SwipeMenuListView添加menu.getViewType()属性控制是否侧滑
- ListView侧滑删除(SwipeMenuListView)
- 侧滑删除ListView:SwipeMenuListView
- 安卓Swipemenulistview侧滑删除 源码分析
- 安卓的控件之AutoCompleteTextView,ListView,Menu,Dialog
- 关于SwipeMenuListView的侧滑menu的内容修改
- SwipeMenuListview侧滑删除
- 自定义ListView盘点-SwipeMenuListView(26)
- 实现SwipeMenuListView特定item的右滑menu无效
- 安卓属性动画,listview上滑隐藏头部布局
- ListView侧滑删除的实现,利用SwipemenuListView开源框架
- 安卓Tv开发(二)移动智能电视之焦点控制(按键事件)
- Android 实现ListView item的左滑(右滑)监听事件 swipemenulistview
- 安卓 ListView 几个重要属性
- 安卓控件之ListView
- 安卓基础之ListView
- 安卓开发之ListView
- 安卓学习之路之菜单Menu
- 数据库课设(校友录信息管理系统)
- Js常用公共方法库CommonHelper(持续更新)
- 170811 WarGames-Bandit(0-10)
- centos 装 mongodb
- 相机对焦
- 安卓-ListView侧滑(二)之SwipeMenuListView添加menu.getViewType()属性控制是否侧滑
- windows/Linux修改oracle数据库用户密码
- SQLite 3 导入导出成txt或csv操作
- 【Matplotlib】数据可视化实例分析
- winform 图片按钮
- eclipse 创建maven 项目 动态web工程完整示例(亲测,很好)
- JS传到后台出现中文乱码解决办法
- hdu 1874
- ACM/ICPC WORLD FINAL 2015 A题