首页 > 解决方案 > 将 SharedElementTransition 与 recyclerView 一起使用时出错

问题描述

我从 Firebase 数据库中获取了一个 recyclerView 和一个 ImageView。我正在尝试使用 SharedElementTransition 将 recyclerView 的图像传递给新活动

我的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

任何帮助将不胜感激。

标签: androidanimation

解决方案


ActivityOptionsCompat中安装Activity,使用ActvityName.this

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

或者

尝试为您的活动中的 recycleview 项目制作点击监听器,并使用 ActivityName.this。

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

推荐阅读