Java getExtras返回空对象
我想在切换时提供一个带有活动的arraylist,但存在一个问题。 切换活动后getExtras接收的对象为null。 为了补充一点说明,当我在双回收器视图中单击内部循环视图时,我打算继续进行新的活动Java getExtras返回空对象,java,android,android-intent,Java,Android,Android Intent,我想在切换时提供一个带有活动的arraylist,但存在一个问题。 切换活动后getExtras接收的对象为null。 为了补充一点说明,当我在双回收器视图中单击内部循环视图时,我打算继续进行新的活动 public class RoomAdapter extends RecyclerView.Adapter<RoomAdapter.CustomViewHolder> { private Context context; private ArrayList<Roo
public class RoomAdapter extends RecyclerView.Adapter<RoomAdapter.CustomViewHolder> {
private Context context;
private ArrayList<RoomData> rooms;
public ArrayList<StudnetInRoomData> students = new ArrayList<>();
private LayoutInflater inflater;
private RoomData room;
View view;
public RoomAdapter(Context context, ArrayList<RoomData> rooms) {
this.context = context;
this.rooms = rooms;
this.inflater = LayoutInflater.from(context);
}
@Override
public CustomViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
view = inflater.inflate(R.layout.single_room, parent, false);
return new CustomViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull CustomViewHolder holder, int position) {
room = rooms.get(position);
holder.tvRoomNum.setText(String.valueOf(room.roomNum));
}
@Override
public int getItemCount() {
return rooms.size();
}
public class CustomViewHolder extends RecyclerView.ViewHolder {
public TextView tvRoomNum;
public CustomViewHolder(View itemView) {
super(itemView);
tvRoomNum = itemView.findViewById(R.id.tvRoomNumber);
tvRoomNum.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
Intent intent = new Intent(view.getContext(), PlusStudentActivity.class);
Bundle bundle = new Bundle();
bundle.putSerializable("studentList", room.students);
intent.putExtras(bundle);
context.startActivity(intent);
}
});
}
}
}
公共类RoomAdapter扩展了RecyclerView.Adapter{
私人语境;
私人阵列式房间;
public ArrayList students=new ArrayList();
私人充气机;
私人资料室;
视图;
公共RoomAdapter(上下文、ArrayList rooms){
this.context=上下文;
这个房间=房间;
this.inflater=layoutiner.from(上下文);
}
@凌驾
public CustomViewHolder onCreateViewHolder(@NonNull ViewGroup父级,int-viewType){
视图=充气机。充气(右布局。单人间,父级,假);
返回新的CustomViewHolder(视图);
}
@凌驾
public void onBindViewHolder(@NonNull CustomViewHolder,int位置){
房间=房间。获取(位置);
holder.tvRoomNum.setText(String.valueOf(room.roomNum));
}
@凌驾
public int getItemCount(){
返回房间。大小();
}
公共类CustomViewHolder扩展了RecyclerView.ViewHolder{
公共文本视图tvRoomNum;
公共CustomViewHolder(查看项目视图){
超级(项目视图);
tvRoomNum=itemView.findViewById(R.id.tvRoomNumber);
tvRoomNum.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
Intent Intent=新的Intent(view.getContext(),PlusStudentActivity.class);
Bundle=新Bundle();
bundle.putSerializable(“studentList”,room.students);
意向。额外支出(捆绑);
背景。开始触觉(意图);
}
});
}
}
}
在新活动中,调用getExtras函数,如下所示
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
ArrayList<StudnetInRoomData> students = (ArrayList< StudnetInRoomData>)bundle.getSerializable("studentList");
Intent-Intent=getIntent();
Bundle=intent.getExtras();
ArrayList students=(ArrayList)bundle.getSerializable(“studentList”);