好傢伙插入我試圖加載動態地Recyclerview這裏的數據是我的代碼:數據不是動態的RecyclerView從源碼
PostAdapter.java
public class PostAdapter extends RecyclerView.Adapter<PostAdapter.ViewHolder> {
ArrayList<Post> listData;
String rpostid, ruserid, rname, rcat, rdate, rtittle;
public PostAdapter(ArrayList<Post> postList) {
this.listData = postList;
notifyDataSetChanged();
}
public PostAdapter(ArrayList<Post> postList,int i) {
this.listData = postList;
this.notifyItemRangeInserted(getItemCount()+1,i);
}
@Override
public PostAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
View v = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.post_item, viewGroup, false);
return new posts(v);
}
public class posts extends ViewHolder {
TextView tvTittle, tvPostId, tvUseId, tvName, tvCat, tvDate;
public posts(View v) {
super(v);
/* View stuf */
}
}
@Override
public void onBindViewHolder(ViewHolder viewHolder, int position) {
final posts holder = (posts) viewHolder;
Post post = listData.get(position);
rpostid = post.getPost_id();
ruserid = post.getUser_id();
rname = post.getUser_name();
rcat = post.getPost_cat();
rdate = post.getPost_time();
rtittle = post.getPost_title();
holder.tvPostId.setText(rpostid);
holder.tvUseId.setText(ruserid);
holder.tvName.setText(rname);
holder.tvCat.setText(rcat);
holder.tvDate.setText(rdate);
holder.tvTittle.setText(rtittle);
}
@Override
public int getItemCount() {
return listData.size();
}
}
這裏是我的代碼當swipeToRefresh被調用時更新數據
public void newPost(int s){
postNew = handler.getNewPost(s);//getting data from DB
postList.addAll(postNew);
adapter = new PostAdapter(postNew);
listView.setAdapter(adapter);
}
這裏是鱈魚E對於在底部添加數據,同時滾動
public void oldPost(int s){
postNew = handler.getOldPost(s);// getting data from db
postList.addAll(postNew);
adapter = new PostAdapter(postNew,postNew.size());
listView.setAdapter(adapter);
}
我要讓數據插入動態上recyclerView頂部時SwipeToRefresh被調用,並想在recyclerview底部顯示舊數據時向下滾動。新數據被插入,但不是動態的,而是recyclerview刷新並開始。
所有的事情是工作的罰款就像得到recycleview的底部,並調用oldPost() +刷卡刷新調用newPost()。問題是隻有數據沒有動態加載請幫助我。提前致謝。編輯後
通知您必須使用notifyDatasetChanged()數據集變化的回收視圖。 http://stackoverflow.com/questions/24740557/notifydatasetchanged-not-working-on-recyclerview –
我打電話notifyDatasetChanged();請參閱postadapter.java –
是的,但它在構造函數中調用。這是另一篇關於如何正確使用它的文章。 http://stackoverflow.com/questions/31367599/how-to-update-recyclerview-adapter-data –