首页 > 解决方案 > 在 RecyclerView.ViewHolder 中获取上下文

问题描述

我想在 ListView 项目首次出现时对其进行动画处理。我有以下视图:

public class SimpleViewHolder extends RecyclerView.ViewHolder
{
    private TextView  simpleTextView;

    public SimpleViewHolder(final View itemView, final SimpleAdapter.onItemClickListener listener) 
    {
        super(itemView);

        simpleTextView  = (TextView)  itemView.findViewById(R.id.simple_text);

        RotateAnimation rotate = new RotateAnimation(0, 360,
                Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,
                0.5f);
        rotate.setDuration(1000);
        rotate.setRepeatCount( 0 );
        simpleTextView.setAnimation(rotate);
    }

    public void bindData(final SimpleViewModel viewModel)
    {
        simpleTextView.setText( viewModel.getSimpleText() );
    }
}

一切都很好,除了以编程方式设置动画之外,我想使用以下方法从 XML 文件中加载它们:

Animation animation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.myanimation);

但我不清楚如何获取/传递上下文到 RecyclerView.ViewHolder 或者这甚至是做动画的正确位置。

如何在 RecyclerView.ViewHolder 中加载 XML 动画,这是为列表项制作动画的正确位置吗?谢谢!

标签: javaandroidandroid-recyclerview

解决方案


你可以itemView.context()用来获取上下文

只需 context() 就足够了


推荐阅读