我想在 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 动画,这是为列表项制作动画的正确位置吗?谢谢!
最佳答案
您可以使用itemView.context()
来获取上下文
只需 context() 就足够了
关于java - 获取 RecyclerView.ViewHolder 中的上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51694997/