Мне нужно отправить объект через несколько действий, адаптер и фрагмент для загрузки информации.навигация по объекту с информацией будет выглядеть так:
действие A -> действие B -> фрагмент -> адаптер -> действие
действие A: место, куда я отправляю данные иЯ уже проверял это, и они получают право на операцию B
public void actualizarVista(DataBaseDTO dataBaseDTO){
if (dataBaseDTO.getEntidad() != null && dataBaseDTO.getOperacion().equals(EnumOperaciones.CONSULTAR_ESTUDIANTE_CEDULA.getOperacion()))
{
Intent intent = new Intent();
intent.setClass(this, MenuActivity.class);
Estudiante datosest = (Estudiante) dataBaseDTO.getEntidad();
Bundle bundle = new Bundle();
bundle.putSerializable("Estudiante", datosest);
intent.putExtras(bundle);
startActivity(intent);
finish();
}else if (dataBaseDTO.getEntidad() != null && dataBaseDTO.getOperacion().equals(EnumOperaciones.CONSULTAR_PROFESOR_CEDULA.getOperacion())){
Intent intent = new Intent();
intent.setClass(this, Menu_profesor.class);
Profesor datosprof = (Profesor) dataBaseDTO.getEntidad();
Bundle bundle = new Bundle();
bundle.putSerializable("Profesor", datosprof);
intent.putExtras(bundle);
startActivity(intent);
finish();
}else{
notificar(dataBaseDTO);
}
}
Деятельность B:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
setTitle("Profesores disponibles");
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
Bundle datos = getIntent().getExtras();
estu = (Estudiante) datos.getSerializable("Estudiante");
DrawerLayout drawer = findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.addDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
View headerView = navigationView.getHeaderView(0);
nombreNav = headerView.findViewById(R.id.lbNombreNav);
correoNav = headerView.findViewById(R.id.navCorreoEst);
nombreNav.setText(estu.getNombre());
correoNav.setText(estu.getCorreo());
Fragment listarProfesorFragment = new ListarProfesorFragment();
listarProfesorFragment.setArguments(datos);
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.contenidomenuestudiante, new ListarProfesorFragment());
fragmentTransaction.commit();
}
Фрагмент:
public View onCreateView(LayoutInflater inflater, ViewGroup viewGroup, Bundle bundle) {
View viewListarProfesores = inflater.inflate(R.layout.fragment_menuest_inicial, viewGroup, false);
listprofesores = viewListarProfesores.findViewById(R.id.listProfesor);
Bundle data = this.getArguments();
objetoEstudiante = (Estudiante) data.getSerializable("Estudiante");
Log.e("ERROR", "" + data);
return viewListarProfesores;
}
Когда я получаю доступ к данным вфрагмент, я получаю ошибку, данные нулевые.Я не знаю, как правильно это сделать.
Большое спасибо за вашу помощь.