Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在OnBindViewHolder()中完成活动_Android - Fatal编程技术网

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();}否!不要那样做我该怎么办请告诉我。