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.bernardi09@gmail.com> escreveu:
algum bom link com uma maneira para fazer o que prec
Analista-Programador






0 comentários:
Postar um comentário