Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Problemas ao inflar Tabs do ActionBar Sherlock.

Cara eu segui os exemplos do seu outro tópico e finalmente consegui fazer funcionar e entender.


Mas está acontecendo um negócio muito estranho.

Eu adicionei os fragments:

fm = getSupportFragmentManager();                
ft = fm.beginTransaction();
fragDados = new CadastroClienteDados();
fragEntrega = new CadastroClienteEntrega();
fragCobranca = new CadastroClienteCobranca();
ft.add(R.id.FrameLayoutAbas, fragDados, "fragmentDados");
ft.add(R.id.FrameLayoutAbas, fragEntrega, "fragmentEntrega");
ft.add(R.id.FrameLayoutAbas, fragCobranca, "fragmentCobranca");
ft.commit();

E depois os tabs:

        Tab tabDados = actionBar.newTab();
        tabDados.setText("Dados");
        tabDados.setTabListener(new NavTabListener(fragDados));
        actionBar.addTab(tabDados);
        
        Tab tabEntrega = actionBar.newTab();
        tabEntrega.setText("Entrega");
        tabEntrega.setTabListener(new NavTabListener(fragEntrega));
        actionBar.addTab(tabEntrega);
        
        Tab tabCobranca = actionBar.newTab();
        tabCobranca.setText("Cobrança");
        tabCobranca.setTabListener(new NavTabListener(fragCobranca));
        actionBar.addTab(tabCobranca);

Mas quando eu inicio o aplicativo.
Ele começa com a primeira aba selecionada, mas exibindo a tela da última aba. Ai eu preciso começar a mudar de abas para ele assumir as abas corretamente.
Eu vi lá no outro tópico que este era o seu problema e você resolveu definindo o container no add. Mas o meu já está dessa forma e está dando este problema.

Obrigado desde já.

On Wednesday, November 28, 2012 10:16:03 AM UTC-2, Felipe Aron wrote:
Estou usando o Sherlock com Tabs também usando Fragments.

No meu caso, tenho a activity principal (SherlockFragmentActivity), e as duas Tabs são (SherlockFragment).

No XML da activity principal eu criei um "Container" pra receber as Tabs:

<FrameLayout
        android:id="@+id/fragment_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >        
    </FrameLayout>


Veja o código da Activity principal:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FragmentManager fm = getSupportFragmentManager();
if (savedInstanceState == null) {
fragment1 = new Fragment1();
fragment2 = new Fragment2(); 
FragmentTransaction ft = fm.beginTransaction();
ft.add(R.id.fragment_container, fragment1, "frag1");
ft.add(R.id.fragment_container, fragment2, "frag2");
ft.commit();
}
setActionBar();
}

private void setActionBar() {
actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
Tab tab1 = actionBar.newTab()
.setText("Frag1")
.setTabListener(new NavTabListener(fragment1));
actionBar.addTab(tab1);
Tab tab2 = actionBar.newTab()
.setText("Frag2")
.setTabListener(new NavTabListener(fragment2));
actionBar.addTab(tab2);
}
protected class NavTabListener implements ActionBar.TabListener {

private Fragment fragment;
public NavTabListener(Fragment fragment) {
this.fragment = fragment;
}
public void onTabSelected(Tab tab, FragmentTransaction ft) {
ft.replace(R.id.fragment_container, fragment);
}

public void onTabUnselected(Tab tab, FragmentTransaction ft) {
ft.remove(fragment);
}

public void onTabReselected(Tab tab, FragmentTransaction ft) {
}
}

Em 28 de novembro de 2012 08:59, Guilherme Bernardi <gui.ber...@gmail.com> escreveu:
algum bom link com uma maneira para fazer o que prec



--
Analista-Programador

--
 
 

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

0 comentários:

Postar um comentário