我已经创建了一个意图对象以及单击Bundle
a的CardView
时间,然后启动Activity
。我如何overridePendingTransition
在里面声明?代码为belew:
@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
holder.textView.setText(strings[position]);
holder.cardView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(holder.itemView.getContext(),SecondActivity.class);
Bundle bundle = new Bundle();
bundle.putString("list",strings[position]);
intent.putExtras(bundle);
holder.itemView.getContext().startActivity(intent);
//overridePendingTransition(R.anim.abc_fade_in,R.anim.abc_fade_out);
}
});
}
像这样声明时,您必须将传递Activity
给您的RecyclerView.Adapter
班级:
首先,在您的适配器的构造函数中添加Activity
字段:
public class MyAdapter extends RecyclerView.Adapter{
Activity mActivity;
ArrayList<YourModel> models;
public MyAdapter(ArrayList<YourModel> models,Activity mActivity){
this.mActivity=mActivity;
this.models=models;
}
}
然后将此行添加到您的Activity
:
Activity thisActivity=(Activity)this;
然后在您Activity
的适配器声明中,如下所示:
MyAdapter myAdapter=new MyAdapter(models,thisActivity);
最后,您可以Activity
在适配器中使用它来进行过渡,例如:
mActivity.overridePendingTransition();
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句