第一步實現繼承recyclerview.viewholder 的子類commonviewholder
public class commonviewholder extends recyclerview.viewholder
}
第二步封裝介面卡baseadapter
public abstract class baseadapterextends recyclerview.adapter
this.context = context;
}/**
* 新增頭部的view
** @param view
*/public baseadapter addheadview(view view)
/*** 新增底部view
** @param view
*/public baseadapter addfooterview(view view)
/*** @param position
* @return
*/@override
public int getitemviewtype(int position)
/*** 判斷是 head
* @param position
* @return
*/public boolean isheadview(int position )
return false ;
}/**
** @param position
* @return
*/public boolean isfooterview(int position)
}return false ;
}@override
public commonviewholder oncreateviewholder(@nonnull viewgroup viewgroup, int i)
return holder ;
}@override
public void onbindviewholder(@nonnull commonviewholder viewholder, int position) else if (isfooterview(position))else
}@override
public int getitemcount()
if (footerview != null)
return list == null ? count : list.size()+count;
}/**
* 列表 item
* @return
*/public abstract int getlayoutid();
/*** @param viewholder
* @param position
* @param t
*/public abstract void itemview(commonviewholder viewholder,t t ,int position);
/*** @param viewholder
*/public void headview(commonviewholder viewholder)
/*** @param viewholder
*/public void footerview( commonviewholder viewholder)
@override
public void onviewattachedtowindow(@nonnull commonviewholder holder)
}
如何使用
baseadapteradapter;
public void init()
@override
public void itemview(commonviewholder viewholder, string s,int position)
} ;mrecyclerview.setadapter(adapter);
adapter.addheadview(layoutinflater.from(this).inflate(r.layout.head_layout,mrecyclerview,false));
adapter.addfooterview(layoutinflater.from(this).inflate(r.layout.footer_layout,mrecyclerview,false));
}
三種列表型別的實現
public void list1(view view)
public void list2(view view)
});}
public void list3(view view)
給RecyclerView新增頭部
最近開發的時候遇到乙個問題,就是scrollview巢狀recyclerview的時候,在高版本的的手機上執行的時候整個頁面是可以正常滾動的,但是在低版本手機上執行的時候recyclerview以上的內容就不會顯示出來了,整個頁面只有recyclerview,並且充滿了整個螢幕,recyclervi...
recyclerview新增item間距
import android.graphics.rect import android.support.v7.widget.recyclerview import android.view.view public class spaceitemdecoration extends recyclerv...
為recyclerview新增懸浮view
recyclerview中列表一般使用linearlayoutmanage,其中linearlayoutmanage有方法findviewbyposition position 和findfirstvisibleitemposition,他可以分別用來獲取你指定position的view和第乙個顯示...