Tecnologia do Blogger.
RSS

[androidbrasil-dev] Re: Tabs na ActionBar

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
Skype: dercilima


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.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário