我试图使用共享元素转换
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
edit_activity.setTransitionName(getString(R.string.activity_text_trans));
edit_wbs.setTransitionName(getString(R.string.activity_mixed_trans));
Pair<View, String> pair1 = Pair.create(edit_activity, edit_activity.getTransitionName());
Pair<View, String> pair2 = Pair.create(edit_contractor, edit_contractor.getTransitionName());
Pair<View, String> pair3 = Pair.create(edit_labour_used, edit_labour_used.getTransitionName());
ActivityOptionsCompat options = ActivityOptionsCompat.
makeSceneTransitionAnimation(this, pair1, pair2, pair3);
startActivity(intent, options.toBundle());
}
但我得到以下错误
错误:(469,75)错误:不兼容的类型:对 无法转换为配对
我尝试将edittext更改为View。 如果我改变了类型,我无法使用edittext的setText和getText属性。
我怎样才能解决这个问题?
答案 0 :(得分:1)
尝试成对一个静态转换名称,如下所示:
Intent intent = new Intent(context, DetailsActivity.class);
intent.putExtra(DetailsActivity.EXTRA_CONTACT, contact);
Pair<View, String> p1 = Pair.create((View)ivProfile, "profile");
Pair<View, String> p2 = Pair.create(vPalette, "palette");
Pair<View, String> p3 = Pair.create((View)tvName, "text");
ActivityOptionsCompat options = ActivityOptionsCompat.
makeSceneTransitionAnimation(this, p1, p2, p3);
startActivity(intent, options.toBundle());