为SwipeMenuListView 打上注释 (仅供参考)
1.首先 感谢提供开源的 大大 .
2.代码片段
@Override
public View getView(int position, View convertView, ViewGroup parent) {
SwipeMenuLayout layout = null;
if (convertView == null) {
//获取我们自己定义的item 的布局。
View contentView = mAdapter.getView(position, convertView, parent);
//生成一个新的menu 对象。
SwipeMenu menu = new SwipeMenu(mContext);
//设置数据的对象的类型 依靠这个字段来 生成menu的类型
//demo里面 的DifferentMenuActivity 这个类里就用到这了这个参数。
menu.setViewType(getItemViewType(position));
//生成Item的方法 在本类中又一个 实现。这个其实是需要自己实现的 以便自己定义 自己Item 按钮的 属性(背景,颜色 字体大小之类的)。
createMenu(menu);
//生成新的ViewGroup 只是在我们的item 布局上添加了 createMenu(menu) 中生成的menu。该(SwipeMenuView)继承自Linearlayout
//最终展示在界面上的Item布局 就是这个。(我们滑动的时候展示出来的布局)
SwipeMenuView menuView = new SwipeMenuView(menu,
(SwipeMenuListView) parent);
//给展示到界面上的Item添加事件
menuView.setOnSwipeItemClickListener(this);
//获取SwipeMenuListView(这个对象 是我们写在界面里面的SwipeMenuListView)对象
//强转是为了 使用该类中自定义的 插入器(即listView.getCloseInterpolator())。
SwipeMenuListView listView = (SwipeMenuListView) parent;
//最终展示在界面上的item 上下 两层 表面上是我们 自己定义的布局 ,当我们滑动item的时候 就会展示 它右侧的 SwipeMenuView。
//而SwipeMenuView 本生是一个继承linearLayout 所以我们可以 随意添加侧滑出来 按钮的个数
//这个个数在SwipeMenu 中的List<SwipeMenuItem> mItems 的Size 就是数目。
layout = new SwipeMenuLayout(contentView, menuView,
listView.getCloseInterpolator(),
listView.getOpenInterpolator());
//记录Item的posion。
layout.setPosition(position);
} else {
layout = (SwipeMenuLayout) convertView;
//当view 处于打开状态时 滑动到 不可见时关闭它。
layout.closeMenu();
//时刻都要记录位置。
layout.setPosition(position);
//生成一个View 单好像没有用过这个view (我也迷糊)
View view = mAdapter.getView(position, layout.getContentView(),
parent);
}
//这个是最新版本才加入的东西 由于我很早之前用过这个开源觉得不错 所以最近闲的无事才准备写个注释 这个应该是新代码(之前没有)。
//看样子是 现在支持 手动设置是否可 滑动。
if (mAdapter instanceof BaseSwipListAdapter) {
boolean swipEnable = (((BaseSwipListAdapter) mAdapter).getSwipEnableByPosition(position));
layout.setSwipEnable(swipEnable);
}
return layout;
}
3.其他代码就不在 贴出来 所有的都在 我整理的 文件中
4.加注释的 源码地址https://github.com/zhoulinxue/SwipeMenuListView.git
5.原项目源码地址https://github.com/baoyongzhang/SwipeMenuListView