Não. No caso, quando ele retorna para a Activity ListaCompras, ele volta vazio. É como se ele não estivesse passando no putExtra.
Código de envio no Lista Itens, que ao clicar no botão de voltar ele devolve os dados pra Activity ListaCompras
tituloCompra.setNavigationOnClickListener(view -> {
intent.putExtra("items", (Serializable) listaItens);
Log.d("Retorno", "Lista com dados " + listaItens.toString());
setResult(Activity.RESULT_OK, intent);
finish();
});
E o código no ListaCompras aonde recebe os dados
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK && data != null) {
List<Item> listaItems = (List<Item>) data.getSerializableExtra("items");
Log.d("Retorno", "Lista com dados " + listaItems.toString());
compraDAO.adicionaItems(listaItems, posicao);
}
}
Inclusive, o Log.d dentro do onActivityResult mostra vazio, e o de dentro do listener mostra o dado preenchido.