首页 > 解决方案 > 如何在适配器android中再次刷新动画相同的视图

问题描述

单击项目时,适配器应刷新,并且应再次调用 onCreateViewHolder 和 onBindViewHolder,以便刷新数据和动画。

我想在每次更新列表时从右到左为 recyclerview 设置动画(每当调用 notifydatasetchanged 时)我的列表正在更新但动画没有发生

 public myAdapter(Context context, RecyclerView recyclerview_songs){
   this.context = context;
   this.recyclerview_songs = recyclerview_songs;
 }


 @Override  
  public SongListViewHolder onCreateViewHolder(@NonNull ViewGroup parent, 
 int viewType) {
    View view = LayoutInflater.from(context).inflate(R.layout.row_songlist, parent, false);
      return new SongListViewHolder(view);
}

@Override
public void onBindViewHolder(@NonNull final SongListViewHolder holder, 
final int position) {
  startAnimation(circle);
  if(!array_first.isEmpty()) {
      count =1;
      holder.text_name.setText(array_first.get(position).getTitle());
   }
 if(array_first.isEmpty() && array_second.size() > 0) {
      count =2;
      holder.text_name.setText(array_second.get(position).getTitle());
   }

holder.text_name.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
          if(count ==1){
             array_first.clear();
             stopAnimation();
          }
          notifyDataSetChanged();
     }
  });
}

     public void startAnimation() {
    int animid = R.anim.animatefromright;
    LayoutAnimationController controller = AnimationUtils.loadLayoutAnimation(context, animid);
    recyclerview_songs.setLayoutAnimation(controller);
}

标签: androidxmlandroid-recyclerview

解决方案


推荐阅读