如何完成OnBindViewHolder()中的活动

时间:2019-05-25 05:38:31

标签: android

在回收者视图项目中,我有一个按钮,因此当用户单击按钮时,用户将从一项活动转到另一项活动。 当用户从另一个活动回来并按android后退按钮时发出提示,然后回溯存在回收者视图的活动。

这是我的代码:

public class HomeBookAdapter extends RecyclerView.Adapter<HomeBookAdapter.ViewHolder> {

ArrayList<LoadHomeBooks> list;
Context context;

public HomeBookAdapter(ArrayList<LoadHomeBooks> list,Context context){

    this.list = list;
    this.context = context;
}

@NonNull
@Override
public HomeBookAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {

    View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.home_book_layout,viewGroup,false);

    return new ViewHolder(v);
}

@Override
public void onBindViewHolder(@NonNull final HomeBookAdapter.ViewHolder viewHolder, int i) {

    LoadHomeBooks model = list.get(i);

    final String bookId = model.getbUid();

    viewHolder.homeMore.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

           Intent i = new Intent(context,BookDetail.class);
           i.putExtra("bId",bookId);
           context.startActivity(i);

        }
    });


}

@Override
public int getItemCount() {
    return list.size();
}

public class ViewHolder extends RecyclerView.ViewHolder{

    Button homeMore;

    public ViewHolder(@NonNull View itemView) {
        super(itemView);

    homeMore = itemView.findViewById(R.id.homeMore);

    }
  }
}

请让我知道我做错了。

谢谢

1 个答案:

答案 0 :(得分:1)

添加此

Intent i = new Intent(context,BookDetail.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(i);