Фрагменты отображаю так:
Код: Выделить всё
@Override
public void onTabSelected(Tab tab, FragmentTransaction transaction) {
transaction.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out);
if (0 == tab.getPosition()) {
transaction.replace(R.id.fragmentContainer, nbuFragment);
}
if (1 == tab.getPosition()) {
transaction.replace(R.id.fragmentContainer, commercialFragment);
}
if (2 == tab.getPosition()) {
transaction.replace(R.id.fragmentContainer, metalsFragment);
}
}Код commercialFragment такой:
Код: Выделить всё
public class CommercialFragment extends SherlockFragment {
CurrencyFragment usd;
CurrencyFragment eur;
CurrencyFragment rub;
SectionsPagerAdapter mSectionsPagerAdapter;
ViewPager mViewPager;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.pager, container, false);
mSectionsPagerAdapter = new SectionsPagerAdapter(getFragmentManager());
mViewPager = (ViewPager) rootView.findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);
return rootView;
}
public void setData(final ArrayList<Object> rates) {
usd.setData(rates);
eur.setData(rates);
rub.setData(rates);
}
// ///////////////////////////////////////////////////////////////////////////////////////////////////
public class SectionsPagerAdapter extends FragmentPagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return usd = CurrencyFragment.newInstance("USD");
case 1:
return eur = CurrencyFragment.newInstance("EUR");
case 2:
return rub = CurrencyFragment.newInstance("RUB");
}
return null;
}
@Override
public int getCount() {
return 3;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return "USD";
case 1:
return "EUR";
case 2:
return "RUB";
}
return null;
}
}
}Может кто знает в чём проблема!?