-
RecyclerView相關的重要類
查看全部 -
RecyckerView? 插件式架構
查看全部 -
添加Item可以用notifyItemInserted和notifyItemRangeInserted,刪除Item可以用notifyItemRemoved和notifyItemRangeRemoved。
但需要注意的是,這些帶有動畫效果的方法僅僅是起到界面動畫的效果,實際上并沒有進行數據與界面的重新綁定。
通過打log可以發現,動畫播放前后,onBindViewHolder(RecyclerView.ViewHolder viewHolder, int position)中的position形參是沒有改變的。
但實際上由于添加/刪除Item的影響,被點擊的Item(假如這個Item是列表中靠后的)的position值應該添加1或減少1。
正確地添加/刪除Item的步驟應該為先調用動畫方法,再通知Adapter重新綁定數據與界面
//添加數據
public void addItem(int position, Object data) {
?mDatas.add(position, data);
?notifyItemInserted(position);//通知演示插入動畫
?notifyItemRangeChanged(position,mDatas.size()-position);//通知數據與界面重新綁定
}查看全部 -
摘自評論區
實現ListView
AS里面要添加RecyclerView的庫,需要找V7版本的,如圖
1.思路
布局使用RecyclerView,然后為其創建一個Adapter,使用LinearLayoutManager設置成ListView
使用github的開源類DividerItemDecoration來實現自定義item之間的分割線
2.布局
<android.support.v7.widget.RecyclerView
??? ……
2.RecyclerView
mRecyclerView = findViewById(R.id.id_recyclerview);
3.創建Adapter
MyRecyclerViewAdapter extends RecyclerView.Adapter<MyViewHolder> {
(1)構造函數
public MyRecyclerViewAdapter(Context context, List<String> datas) {
??? this.mContext = context;
??? this.mDatas = datas;
??? this.mInflater = LayoutInflater.from(context);
}
(2)onCreateViewHolder需要inflate布局文件并返回ViewHolder
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
?? View view = mInflater.inflate(R.layout.simple_textview, parent, false);
?? MyViewHolder viewHolder = new MyViewHolder(view);
?? return viewHolder;
}
(3)onBindViewHolder()為ViewHolder的view初始化
public void onBindViewHolder(final MyViewHolder holder, final int position) {
?? holder.textView.setText(mDatas.get(position));
}查看全部 -
onBindViewHolder中的作用就是在BaseAdapter中,getView里對控件進行賦值的類型,然后進行在Activity中進行詳細的賦值,例如賦給圖片文字,等等
查看全部 -
RecyclerView本身來說,比BaseAdapter方便,他實現了ViewHolder中的簡便操作,并且,是由谷歌官方提供的,可以看出的一點是,谷歌官方,已經將這個ViewHoldr設置為未來的列表展示的發展趨勢,RecyclerView從本身來說,集成了ListView和GridView的特點,輕巧簡便的實現了上述二者的功能,所以,可以看出未來的安卓中,RecyclerView將有可能代替List View和GridView
查看全部 -
viewholder里面寫item布局里所有控件查看全部
-
插入Item時要調用NotifyItemInsert和NotifyItemRemove兩個方法。不是Notifysetdatachanged。holder.setLayoutPosition動態獲取Item的位置。還有RecycleView沒有為item設置監聽事件。
查看全部 -
RecyclerView能干什么?查看全部
-
RecyclerView相關的重要類查看全部
-
RecyclerView查看全部
-
這門課程的主要內容 http://blog.csdn.net/lmj623565791/article/details/45059587查看全部
-
關于ViewHolder的開發模式查看全部
-
為什么叫做RecyclerView查看全部
-
測試vvvvv查看全部
舉報