我需要在recylerview中向活动进行共享转换,但尝试传递Adpater.this / this / Adapter.class却遇到错误“无法将应用程序转换为活动”,但没有任何作用
ViewCompat.setTransitionName(holder.imageView, photo.getId());
holder.imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(mContext, Fullscreen.class);
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation((MainActivity) mContext, holder.imageView, ViewCompat.getTransitionName(holder.imageView));
mContext.startActivity(intent, options.toBundle());
}
});
}
答案 0 :(得分:0)
问题在(MainActivity)mContext
行中。您的mContext
是Application
类型,但是您尝试将其强制转换为Activity
类型,这就是为什么它抛出ClassCastException
的原因。将您的字段声明为Activity mContext;
而不是Context mContext;
,IDE会向您显示您使用错误的类型对象初始化了mContext
变量。