gpt4 book ai didi

android - 如何在 RecyclerView 适配器的 onBindViewHolder 中声明 overridePendingTransition?

转载 作者:搜寻专家 更新时间:2023-11-01 07:49:05 27 4
gpt4 key购买 nike

当单击 CardView 时,我创建了一个 intent 对象和 Bundle,然后我启动了 Activity。如何在其中声明 overridePendingTransition?代码如下:

@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();

关于android - 如何在 RecyclerView 适配器的 onBindViewHolder 中声明 overridePendingTransition?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38001855/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com