将 SharedElementTransition 与 recyclerView 一起使用时出错



我有一个回收器视图和一个ImageView,我从Firebase数据库中获取。我正在尝试使用 SharedElementTransition 将回收器视图的图像传递给新活动

我的adatper类中的转换代码如下:

view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(context,ProductPage.class);
intent.putExtra("Node", node.getText().toString());
ActivityOptionsCompat optionsCompat = ActivityOptionsCompat.makeSceneTransitionAnimation((Activity),
image, ViewCompat.getTransitionName(image));
context.startActivity(intent, optionsCompat.toBundle());

}
});

错误给出如下:

java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Window android.app.Activity.getWindow()' on a null object reference

任何帮助将不胜感激。

Iinsted ofActivityinActivityOptionsCompat,useActvityName.this .

ActivityOptionsCompat optionsCompat = ActivityOptionsCompat.makeSceneTransitionAnimation((Activity)context,
image, ViewCompat.getTransitionName(image));

尝试在您的活动中为回收视图项目制作点击侦听器,并使用活动名称.this。

ActivityOptionsCompat optionsCompat = ActivityOptionsCompat.makeSceneTransitionAnimation(ActivityName.this,
image, ViewCompat.getTransitionName(image));

由于您在适配器中使用它。您必须将上下文与活动的大小写,然后使用它。

ActivityOptionsCompat optionsCompat = ActivityOptionsCompat.makeSceneTransitionAnimation((Activity)getContext(),
image, ViewCompat.getTransitionName(image));

最新更新