android - 将 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
任何帮助将不胜感激。
解决方案
在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));
推荐阅读
- java - Java - 一种在解析 JSON 时忽略无效记录的更好方法
- ruby-on-rails - 从 StripeAccountsController 中的表单将参数保存在我的 UsersController(设计)中?
- java - 在 Java 7 中的间谍中对 @Asynchronous 方法进行单元测试
- python - 如何使用带有 cx_freeze 的 python 脚本创建 exe 文件?
- python - 如何使用硒单击画布中的元素
- sql - SQL查询以创建表而不是视图
- excel - 计算 2 列中的匹配值
- c++ - cfgmgr32.h 中的 CR_FAILURE
- python - 在while循环中计算跳过n次
- python - 关于没有库的图像处理/或 Jpeg 格式