SwipeMenuListview侧滑删除
来源:互联网 发布:js 数组方法 编辑:程序博客网 时间:2024/05/16 06:06
一 使用SwipemenuListview控件,首先需要引入下面的依赖:
compile 'com.baoyz.swipemenulistview:library:1.3.0'
<com.baoyz.swipemenulistview.SwipeMenuListView android:id="@+id/listview" android:layout_width="match_parent" android:layout_height="match_parent"/>
Activity:
public class MainActivity extends AppCompatActivity { SwipeMenuListView listView; MyAdapter adapter; private List<ApplicationInfo> mAppList; ArrayList<String> data; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (SwipeMenuListView) findViewById(R.id.listview); mAppList = getPackageManager().getInstalledApplications(0); data = new ArrayList<>(); for (int i = 0; i <20 ; i++) { data.add("AAA" + i); } adapter = new MyAdapter(data,this); listView.setAdapter(adapter); SwipeMenuCreator creator = new SwipeMenuCreator() { @Override public void create(SwipeMenu menu) { switch (menu.getViewType()) { case 0: createMenu2(menu); break; } } //设置滑出菜单的属性 private void createMenu2(SwipeMenu menu) { SwipeMenuItem item2 = new SwipeMenuItem( getApplicationContext()); item2.setBackground(R.color.allTypeItemTextColor); item2.setWidth(adapter.dp2px(50)); item2.setTitle("删除"); item2.setTitleColor(R.color.colorPrimary); item2.setTitleSize(15); menu.addMenuItem(item2); } }; listView.setMenuCreator(creator); listView.setOnMenuItemClickListener(new SwipeMenuListView.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(int position, SwipeMenu menu, int index) { ApplicationInfo item = mAppList.get(position); mAppList.remove(data.get(position)); adapter.delete(position); listView.setAdapter(adapter); adapter.notifyDataSetChanged(); Toast.makeText(MainActivity.this, "删除成功", Toast.LENGTH_SHORT).show(); return false; } }); } public class MyAdapter extends BaseAdapter{ ArrayList<String> data; Context context; public MyAdapter(ArrayList<String> data,Context context) { this.data = data; this.context = context; } @Override public int getCount() { return data.size(); } @Override public Object getItem(int i) { return data.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { MyHolder holder = null; if (view == null){ view = LayoutInflater.from(context).inflate(R.layout.item,null); holder = new MyHolder(); holder.tv = (TextView) view.findViewById(R.id.item_tv); view.setTag(holder); }else { holder = (MyHolder) view.getTag(); } holder.tv.setText(data.get(i)); return view; } class MyHolder{ TextView tv; } public void delete(int p){//设置删除方法 data.remove(p); notifyDataSetChanged(); listView.setSelection(p); } //设置滑动删除按钮的宽高属性的方法 private int dp2px(int dp) { return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, getResources().getDisplayMetrics()); } }}
好的,到这里已经全部结束了。
0 0
- SwipeMenuListview侧滑删除
- ListView侧滑删除(SwipeMenuListView)
- 侧滑删除ListView:SwipeMenuListView
- 安卓仿ios侧滑删除地址-SwipeMenuListView
- SwipeMenuListView实现点击和侧滑删除
- 侧滑删除 SwipeMenuListView的使用
- 安卓Swipemenulistview侧滑删除 源码分析
- Android 第三方开源SwipeMenuListView(QQ侧滑置顶,删除)
- 仿QQ侧滑删除Item:Swipemenulistview的简单实现
- 记一个SwipeMenuListView侧滑删除错乱的Bug
- 仿QQ侧滑删除Item:Swipemenulistview的简单实现
- SwipeMenuListView实现类似于QQ侧滑删除效果
- android 左滑显示删除按钮SwipeMenuListView
- ListView侧滑删除的实现,利用SwipemenuListView开源框架
- SwipeMenuListView滑动删除
- SwipeMenuListView滑动删除框架
- SwipeMenuListView 左滑实现:置顶 标为未读 删除
- 自己实现一个右滑删除的ListView, SwipeMenuListView
- c#6.0 新特性
- http、https、Tcp/Udp等协议
- js java substring
- 道歉
- 1.1.12、CPU的设计原理、数据总线和地址总线
- SwipeMenuListview侧滑删除
- Linux Make 命令详解
- c++循环类型
- es6 Array数组对象新增方法 Array.of()
- 特征点检测学习_1(sift算法)
- 大家谨慎防伊味儿休闲零食受骗上当
- easyui datagrid组件 单击行 让他不选中 只有单击checkbox的时候才选中
- svn常用指令
- 关键词推荐的几种常见相关性计算方法