Android recyclerview动画不工作

Android recyclerview动画不工作,android,android-activity,android-listview,android-animation,android-recyclerview,Android,Android Activity,Android Listview,Android Animation,Android Recyclerview,我想使用一个RecyclerView动画,就像可以在谷歌报摊应用程序上找到的那样,卡片根据滚动方向向上或向下设置动画 我现在有以下代码: public class NewsRVAdapter extends RecyclerView.Adapter<NewsRVAdapter.NewsViewHolder> { private final List<NewsItems> item; private int lastPosition = -1;

我想使用一个RecyclerView动画,就像可以在谷歌报摊应用程序上找到的那样,卡片根据滚动方向向上或向下设置动画

我现在有以下代码:

public class NewsRVAdapter extends RecyclerView.Adapter<NewsRVAdapter.NewsViewHolder> {

    private final List<NewsItems> item;
    private int lastPosition = -1;

    public static class NewsViewHolder extends RecyclerView.ViewHolder {

        final TextView title;
        final TextView message;
        final LinearLayout container;

        NewsViewHolder(View view) {
            super(view);
            container = (LinearLayout) view.findViewById(R.id.news_container);
            title = (TextView) view.findViewById(R.id.news_list_title);
            message = (TextView) view.findViewById(R.id.news_list_message);
        }
    }

    public NewsRVAdapter(List<NewsItems> persons){
        this.item = persons;
    }

    @Override
    public void onAttachedToRecyclerView(RecyclerView recyclerView) {
        super.onAttachedToRecyclerView(recyclerView);
    }

    @Override
    public NewsViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
        View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.list_news, viewGroup, false);
        return new NewsViewHolder(v);
    }

    @Override
    public void onBindViewHolder(NewsViewHolder NewsViewHolder, int position) {
        NewsViewHolder.title.setText(item.get(position).getTitle());
        NewsViewHolder.message.setText(Html.fromHtml(item.get(position).getMessage()), TextView.BufferType.SPANNABLE);

        Animation animation = AnimationUtils.loadAnimation(MainActivity.context, (position > lastPosition) ? R.anim.up_from_bottom : R.anim.down_from_top);
        NewsViewHolder.container.startAnimation(animation);
        lastPosition = position;
    }

    @Override
    public int getItemCount() {
        return item.size();
    }
}
公共类NewsRVAdapter扩展了RecyclerView.Adapter{
非公开最后清单项目;
private int lastPosition=-1;
公共静态类NewsViewHolder扩展了RecyclerView.ViewHolder{
最终文本视图标题;
最终文本视图消息;
最终线性布局容器;
新闻视图持有者(视图){
超级(视图);
container=(LinearLayout)view.findViewById(R.id.news\u container);
title=(TextView)view.findViewById(R.id.news\u list\u title);
message=(TextView)view.findViewById(R.id.news\u list\u message);
}
}
公共新闻适应者(列出人员){
本项目=人;
}
@凌驾
附加ToRecyclerView(RecyclerView RecyclerView)上的公共无效{
super.onAttachedToRecyclerView(recyclerView);
}
@凌驾
公共新闻视图持有者onCreateViewHolder(视图组视图组,int i){
View v=LayoutInflater.from(viewGroup.getContext()).flate(R.layout.list_news,viewGroup,false);
返回新的新闻浏览者(v);
}
@凌驾
BindViewHolder上的公共无效(NewsViewHolder NewsViewHolder,int位置){
NewsViewHolder.title.setText(item.get(position.getTitle());
NewsViewHolder.message.setText(Html.fromHtml(item.get(position.getMessage()),TextView.BufferType.SPANNABLE);
Animation Animation=AnimationUtils.loadAnimation(MainActivity.context,(position>lastPosition)?R.anim.up\u from\u bottom:R.anim.down\u from\u top);
NewsViewHolder.container.startAnimation(动画);
最后位置=位置;
}
@凌驾
public int getItemCount(){
返回item.size();
}
}
从顶部向下:

<?xml version="1.0" encoding="utf-8"?>
<set
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="@android:anim/decelerate_interpolator">

    <translate
        android:fromYDelta="-100%"
        android:toYDelta="0%"
        android:duration="400" />
</set>

从底部向上:

<?xml version="1.0" encoding="utf-8"?>
<set
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="@android:anim/decelerate_interpolator">

    <translate
        android:fromYDelta="100%"
        android:toYDelta="0%"
        android:duration="400" />
</set>

我遇到的问题是,有些项目没有动画,而其他有动画的卡只在那些没有动画的卡的正上方动画,这一切看起来都像垃圾。 我注意到当向下和向上滚动时,它总是最后的第二张卡片。我怎样才能解决这个问题?
另外,当我离开活动并返回活动时,卡不会产生动画,而只是跳转。

真的没有人知道解决方法吗?你的意思是你的动画工作不正常?@SurenderKumar它确实工作,但不完全工作。最后的第二个项目总是停留在那里,没有动画,所以第一和第三张卡在它上面滑动,它看起来不好,你只能使用一个动画…为正确的动画。如果您想同时使用这两种方法,请检查您正在用作最后位置的位置。@SurenderKumar我正在这样做??