SwipeMenuRecyclerView添加头部和底部

来源:互联网 发布:sql%20server 编辑:程序博客网 时间:2024/05/21 21:02

1:适配器

...extendsSwipeMenuAdapter<RecyclerView.ViewHolder> {

public static final int HeaderType = 0;
public static final int ContentType = 1;
public static final int FooterTyoe = 2;
final int HeaderCount = 1;
final int FooterCount = 1;
@Overridepublic View onCreateContentView(ViewGroup parent, int viewType) {    if(viewType == HeaderType){
 return layoutInflater.inflate(layout,parent,false);     
    else if(viewType == ContentType)
return layoutInflater.inflate(layout,parent,false); else return layoutInflater.inflate(layout,parent,false);
}

@Overridepublic RecyclerView.ViewHolder onCompatCreateViewHolder(View realContentView, int viewType) {
    if(viewType == HeaderType)
        return new HeaderView(realContentView);
else if(viewType == ContentType) return new ContentView(realContentView); else return new FooterView(realContentView);}
@Overridepublic void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
if(holder instanceof HeaderView){}
else if(holder instanceof ContentView){}
        else{}
}

@Overridepublic int getItemViewType(int position) {    if(position == getItemCount() - 1 && getItemCount() != 0)        return FooterTyoe;
    else if(position == 0 && getItemCount() != 0)
        return HeaderType;    else        return ContentType;}@Overridepublic int getItemCount() {    return membersCode.content.size() + HeaderCount + FooterCount;}

}


2 添加菜单:

private SwipeMenuCreator swipeMenuCreator = new SwipeMenuCreator() {    @Override    public void onCreateMenu(SwipeMenu leftMenu, SwipeMenu rightMenu, int viewType) {        if(viewType == ContentType) {            SwipeMenuItem deleteItem = new SwipeMenuItem(getApplicationContext())            rightMenu.addMenuItem(deleteItem); // 在左侧添加一个菜单。        }else if(viewType == HeaderType){}
else {}    }};