android - 如何在适配器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);
}
解决方案
推荐阅读
- javascript - 当网站在 iPhone 中加载时,预加载器不工作
- sql - 从不同表中提取动态日期范围后计算付款金额
- swift - 从 3d 对象创建 ARRaycastQuery
- docker - 通过 docker 命令运行 cypress 时,cypress type() 未定义
- logging - nftables:如何记录从路由器发出的数据包?
- mysql - JpaSystemException:试图从空的一对一属性分配 id Jpa 和 Hibernate 错误
- flutter - 从 Stateless 到 Stateful Widget 调用时变量返回 null 吗?
- python - 我想根据某些条件在我的数据框中添加一列
- python - 根据特定列上的条件计数过滤数据框
- linux - eclipse pydev 调试不工作的变量和断点