Android 如何在OnBindViewHolder()中完成活动
在我的“回收者”视图项目中,我有一个按钮,所以当用户单击按钮时,用户将从一个活动转到另一个活动。 但当用户从另一个活动中返回并按下安卓返回按钮时,它会返回显示“回收者”视图的活动 这是我的密码:Android 如何在OnBindViewHolder()中完成活动,android,Android,在我的“回收者”视图项目中,我有一个按钮,所以当用户单击按钮时,用户将从一个活动转到另一个活动。 但当用户从另一个活动中返回并按下安卓返回按钮时,它会返回显示“回收者”视图的活动 这是我的密码: public class HomeBookAdapter extends RecyclerView.Adapter<HomeBookAdapter.ViewHolder> { ArrayList<LoadHomeBooks> list; Context context; pu
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);
}
}
}
公共类HomeBookAdapter扩展了RecyclerView.Adapter{
数组列表;
语境;
公共HomeBookAdapter(ArrayList列表,上下文){
this.list=列表;
this.context=上下文;
}
@非空
@凌驾
public HomeBookAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup ViewGroup,int i){
视图v=LayoutInflater.from(viewGroup.getContext()).flate(R.layout.home\u book\u布局,视图组,false);
返回新的视图持有者(v);
}
@凌驾
public void onBindViewHolder(@NonNull final HomeBookAdapter.ViewHolder ViewHolder,int i){
LoadHomeBooks model=list.get(i);
最后一个字符串bookId=model.getbUid();
viewHolder.homeMore.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
意图i=新意图(上下文、BookDetail.class);
i、 putExtra(“投标”,bookId);
背景。起始触觉(i);
}
});
}
@凌驾
public int getItemCount(){
返回list.size();
}
公共类ViewHolder扩展了RecyclerView.ViewHolder{
按钮homeMore;
公共视图持有者(@NonNull View itemView){
超级(项目视图);
homeMore=itemView.findviewbyd(R.id.homeMore);
}
}
}
有人请让我知道我做错了什么
谢谢添加此项
Intent i = new Intent(context,BookDetail.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(i);
加上这个
Intent i = new Intent(context,BookDetail.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(i);
它仍然是回溯。当用户从另一个活动返回时,您使用什么!我使用的onBackPressed()方法如下@Override public void onBackPressed(){super.onBackPressed();Intent I=new Intent(BookDetail.this,MainActivity.class);startActivity(I);finish();}否!不要这样做我应该怎么做请让我知道。它仍然是回溯。当用户从另一个活动回来时,您使用什么!我使用的onBackPressed()方法如下@Override public void onBackPressed(){super.onBackPressed();Intent I=new Intent(BookDetail.this,MainActivity.class);startActivity(I);finish();}否!不要那样做我该怎么办请告诉我。