holder.close.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
onBackPressed();
}
}) ;
return convertView;
}
答案 0 :(得分:5)
如果您之前的活动在堆栈上,请致电 -
((Activity) mContext).finish();
否则 使用intent&调用之前的活动完成当前活动。
holder.close.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent mIntent=new Intent(mContext,MyActivity.class);
mContext.startActivity(mIntent);
((Activity) mContext).finish();
}
}) ;
return convertView;
}
答案 1 :(得分:2)
Context.finish();
使用activity context.finish();
答案 2 :(得分:2)
您可以在Activity的onBackPressed()方法中编写代码以转到上一个活动,然后从适配器调用活动的onBackPressed()方法。
((Your Activity)context).onBackPressed();
答案 3 :(得分:1)
使用上下文完成当前活动。 用这个:
holder.close.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
((Activity)context).finish();
}
}) ;
return convertView;
}
答案 4 :(得分:0)
如果您在开始新活动时没有完成第一项活动,那么您可以完成当前的活动。
holder.close.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//finish this activity
}
});
答案 5 :(得分:0)
因为你需要在自定义适配器构造函数中传递Activity并使用onBackPressed()函数..
e.g。
...
Activity mctx;
MyAdapter(Activity a) {
mctx = a;
}
...
holder.close.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mctx.onBackPressed();
}
}) ;
return convertView;
}
答案 6 :(得分:0)
通过构造函数将活动引用传递给适配器,如:
CustomAdapter customAdapter=CustomAdapter(getApplicationContext(),
arrayList,HomeActivity.this);
并在您的自定义适配器
中 public class CustomAdapter extends RecyclerView.Adapter<CustomAdapter.ViewHolder> {
Context context;
ArrayList<HomeModel> arrHomeModel;
AppCompatActivity activity;
public CustomAdapter(Context context, ArrayList<HomeModel> arrHomeModel, AppCompatActivity activity)
{
this.context=context;
this.arrHomeModel=arrHomeModel;
this.activity=activity;
}
现在你可以调用activity.onBackPressed();无论你想要什么。