Bom dia galera,
Fazendo alguns testes percebi que se eu chamar um fragment sem colocar as abas a backstack funciona normalmente, mas quando chamo um fragment e crio as abas ai surge o problema de não funcionar o botão voltar...
Quando abre o fragment com as abas se eu clicar uma vez no botão de voltar nada acontece, se eu clicar novamente fecha o sistema.
O código que estou usando é o seguinte:
// Crio os dois fragments de clientes detalhes e financeiro
FrgClientesDetalhes frgCliDetalhes = new FrgClientesDetalhes(); // Aba 1
FrgClientesFinanceiro frgCliFinan = new FrgClientesFinanceiro(); // Aba 2
// Cria o FragmentManager e o Transaction
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
// Adiciona na BackStack e commita
ft.addToBackStack("frag");
ft.commit();
/* Ativa a navegação por Abas */
ActionBar ab = getActivity().getActionBar();
ab.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
/* Cria as abas */
/* Cliente Detalhes */
Tab tbDetalhes = ab.newTab();
tbDetalhes.setText("Detalhes");
tbDetalhes.setTabListener(new NavegacaoTabListener(frgCliDetalhes));
/* Cliente Financeiro */
Tab tbFinanceiro = ab.newTab();
tbFinanceiro.setText("Financeiro");
tbFinanceiro.setTabListener(new NavegacaoTabListener(frgCliFinan));
/* Adicionar as abas no ActionBar */
ab.addTab(tbDetalhes);
ab.addTab(tbFinanceiro);
Na classe NavegacaoTabListener, está da seguinte forma:
public class NavegacaoTabListener implements ActionBar.TabListener {
private Fragment frag;
public NavegacaoTabListener(Fragment frg) {
this.frag = frg;
}
public void onTabReselected(Tab tab, FragmentTransaction ft) {
}
public void onTabSelected(Tab tab, FragmentTransaction ft) {
/* Mostra o Fragment na tela */
ft.replace(R.id.lcontainer, frag, null);
}
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// Quando a Tab perder o foco, remove
ft.remove(frag);
}
}
Se alguém puder ajudar... Ficarei grato... Abraços.
Att,
Derci Santos
Facebook: www.facebook.com/dercilima
twitter: www.twitter.com/dercilima
Skype: dercilima
MSN: dercirv_@hotmail.com
Recomendação se for reenviar esta mensagem, por favor:
1. Apague o MEU endereço eletrônico e todos os outros constantes do e-mail;
2. Encaminhe como CÓPIA OCULTA (Cco ou Bcc) aos seus destinatários.
3. Agindo desta forma, você estará colaborando para dificultar a disseminação de vírus e spams, e também para tornar a internet mais segura.
2. Encaminhe como CÓPIA OCULTA (Cco ou Bcc) aos seus destinatários.
3. Agindo desta forma, você estará colaborando para dificultar a disseminação de vírus e spams, e também para tornar a internet mais segura.






0 comentários:
Postar um comentário