Android : How to add child fragment without ActionBar and swipe to class fragment

on Tuesday, October 7, 2014


I have Fragment MainActivity class with ActionBar and swipe which work well. acording to action user the class FragmentA,FragmentB,FragmentC show in the scren.


How can I add child fragment without ActionBar and without swipe from FragmentA class



public class FragmentA extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_a,container,false);
}
}


so from FragmentA I will have


-- FragmentAA -- FragmentAB


Many Thanks For any help.



public class MainActivity extends FragmentActivity implements ActionBar.TabListener {

ViewPager viewPager=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager= (ViewPager) findViewById(R.id.pager);

final ActionBar actionBar=getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
addTabs(actionBar);
viewPager.setAdapter(new MyAdapter(getSupportFragmentManager()));
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

@Override
public void onPageScrolled(int i, float v, int i2) {
}

@Override
public void onPageSelected(int i) {
actionBar.setSelectedNavigationItem(i);
}

@Override
public void onPageScrollStateChanged(int i) {

}
});

}
private void addTabs(ActionBar actionBar)
{
ActionBar.Tab tab1=actionBar.newTab();
tab1.setText("Tab 1");
tab1.setTabListener(this);

ActionBar.Tab tab2=actionBar.newTab();
tab2.setText("Tab 2");
tab2.setTabListener(this);

ActionBar.Tab tab3=actionBar.newTab();
tab3.setText("Tab 3");
tab3.setTabListener(this);

actionBar.addTab(tab1);
actionBar.addTab(tab2);
actionBar.addTab(tab3);
}

@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
viewPager.setCurrentItem(tab.getPosition());

}

@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {

}

@Override
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {

}
}

class MyAdapter extends FragmentStatePagerAdapter
{

public MyAdapter(FragmentManager fm) {
super(fm);
}

@Override
public Fragment getItem(int i) {
Fragment fragment=null;
if(i==0)
{
fragment=new FragmentA();
}
if(i==1)
{
fragment=new FragmentB();
}
if(i==2)
{
fragment=new FragmentC();
}
return fragment;
}

@Override
public int getCount() {
return 3;
}
}

0 comments:

Post a Comment