Open tellfa opened 8 years ago
try notifyItemInserted(index); notifyItemRemoved(index);
Don't use notifyDataSetChanged();
@aesean tnx, Where do I add the code? It is possible to guide me further?
mRecyclerView.setAdapter(mAdapter); mAdapter class
@aesean , my adapter code :
public class profile_user_adapter extends
RecyclerView.Adapter
public profile_user_adapter(String[] myDataset) {
mDataset = myDataset;
}
@Override
public profile_user_adapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemLayoutView = LayoutInflater.from(parent.getContext()).inflate(
R.layout.newsms_card_layout, null);
ViewHolder viewHolder = new ViewHolder(itemLayoutView);return viewHolder;
}
@Override
public void onBindViewHolder(ViewHolder viewHolder, int position) {
viewHolder.tvVersionName.setText(mDataset[position].toString());
}
@Override
public int getItemCount() {
return mDataset.length;
}
public static class ViewHolder extends RecyclerView.ViewHolder {
public TextView tvVersionName;
public ViewHolder(View itemLayoutView) {
super(itemLayoutView);
tvVersionName = (TextView) itemLayoutView.findViewById(R.id.sms_newsms_text);
itemLayoutView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
}
}
}
if possible you add this methods too my adapter? tnx <3
public class profile_user_adapter extends RecyclerView.Adapter
public void insertItem(String item){
insertItem(item, mDataset.size());
}
public void insertItem(String item,int index){
mDataset.add(item);
notifyItemInserted(index);
}
public void removeItem(String item,int index){
mDataset.remove(index);
notifyItemRemoved(index);
}
@Override
public profile_user_adapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemLayoutView = LayoutInflater.from(parent.getContext()).inflate(
R.layout.newsms_card_layout, null);
ViewHolder viewHolder = new ViewHolder(itemLayoutView);
return viewHolder;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
}
@Override
public int getItemCount() {
return mDataset.size();
}
public static class ViewHolder extends RecyclerView.ViewHolder {
public TextView tvVersionName;
public ViewHolder(View itemLayoutView) {
super(itemLayoutView);
tvVersionName = (TextView) itemLayoutView.findViewById(R.id.sms_newsms_text);
itemLayoutView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
}
}
}
@aesean , tnx man <3
Please use the following
notifyItemChanged(int)
notifyItemInserted(int)
notifyItemRemoved(int)
notifyItemRangeChanged(int, int)
notifyItemRangeInserted(int, int)
notifyItemRangeRemoved(int, int)
If you want your animations to work, do not rely on calling notifyDataSetChanged()
;
as it is the RecyclerView's default behavior, animations are not triggered to start inside this method.
i want use this library but i can't use :( . i added this code : compile 'jp.wasabeef:recyclerview-animators:1.3.0' and added this code to my activity : mRecyclerView = (RecyclerView) findViewById(R.id.profile_user_recycler);
please help me, i really need this library. tnx <3