Tenho uma MainActivity que faz a chamada de um fragmento denominado AccreditedNetworkFragment (código 1). Este por sua vez instancia um NetworkViewAdapter (código 2) que chama outro fragmento AccreditedNetworkRegionFragment (código 3).
No AccreditedNetworkRegionFragment possuo um formulário onde devem ser preenchidos vários spinners como Estado, Cidade, Bairro e Loja. Após preenchimento, ele realiza a chamada da Activity denominada AccreditedNetworkDetailsActivity (código 4).
DÚVIDA: gostaria que, no método de retorno (onOptionsItemSelected - código 5) fosse retornado o fragmento AccreditedNetworkRegionFragment com os spinners já preenchidos de acordo com o que foi preenchido anteriormente. Da maneira como está atualmente está sendo retornada a MainActivity. Isto não traz uma boa experiência para o usuário já que tem que entrar no fragmento e preencher todos os spinners novamente. Isto é possível?
Entendo que todos os meus fragmentos são da MainActivity e o AccreditedNetworkRegionFragment, que é o último a ser chamado, chamou uma nova Activity. Assim gostaria de retornar ao fragmento específico citado da Activity anterior.
CÓDIGO 1:
case NETWORK:
mToolbar.setTitle(R.string.drawer_item_network);
currentFragment = new AccreditedNetworkFragment();
break;
CÓDIGO 2:
viewPager.setAdapter(new NetworkViewAdapter(getChildFragmentManager(), getContext()));
CÓDIGO 3:
case 1:
return new AccreditedNetworkRegionFragment();
CÓDIGO 4:
private void requestStores(String state, String city, String neighborhood, String branch) {
if (!((SimpleSpinnerAdapter)stateSpinner.getSelectedItem()).getValue().isEmpty()) {
AccreditedNetworkDetailsActivity.startActivity(getContext(), new ListStoresRequest(state, city, neighborhood, branch));
}
CÓDIGO 5:
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
finish();
return true;
}
return super.onOptionsItemSelected(item);
}