viewpager tabhost studio example español ejemplo activity android android-fragments android-actionbar android-viewpager

tabhost - viewpager android ejemplo



Fragmento Reemplazar con ViewPager en la pestaña ActionBar (1)

Tengo pestañas de ActionBar con la función de paginador de vista. Mi problema está en estas pestañas, no puedo reemplazar fragmentos. Utilizo el siguiente código para reemplazar fragmentos pero no reemplaza, el fragmento principal se mantiene. Además, en otras pestañas también existe el segundo fragmento. Mi TabListener también está por debajo del reemplazo de fragmentos.

private void addFragment(Fragment fragment, boolean addToBackStack, int transition) { FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction(); fragmentTransaction.replace(R.id.details_container, fragment); fragmentTransaction.setTransition(transition); fragmentTransaction.addToBackStack(null); fragmentTransaction.commit(); }

public static class TabsAdapter extends FragmentPagerAdapter implements ViewPager.OnPageChangeListener, ActionBar.TabListener { private final Context mContext; private final ActionBar mBar; private final ViewPager mViewPager; private final ArrayList<TabInfo> mTabs = new ArrayList<TabInfo>(); static final class TabInfo { private final Class<?> clss; private final Bundle args; TabInfo(Class<?> _class, Bundle _args) { clss = _class; args = _args; } } public TabsAdapter(FragmentActivity activity, ActionBar bar, ViewPager pager) { super(activity.getSupportFragmentManager()); mContext = activity; mBar = bar; mViewPager = pager; mViewPager.setAdapter(this); mViewPager.setOnPageChangeListener(this); } public void addTab(ActionBar.Tab tab, Class<? extends Fragment> clss, Bundle args) { TabInfo info = new TabInfo(clss, args); tab.setTag(info); tab.setTabListener(this); mTabs.add(info); mBar.addTab(tab); notifyDataSetChanged(); } @Override public int getCount() { return mTabs.size(); } @Override public Fragment getItem(int position) { TabInfo info = mTabs.get(position); return Fragment.instantiate(mContext, info.clss.getName(), info.args); } @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { mBar.setSelectedNavigationItem(position); } @Override public void onPageScrollStateChanged(int state) { } @Override public void onTabSelected(Tab tab, FragmentTransaction ft) { Object tag = tab.getTag(); for (int i=0; i<mTabs.size(); i++) { if (mTabs.get(i) == tag) { mViewPager.setCurrentItem(i); } } } @Override public void onTabUnselected(Tab tab, FragmentTransaction ft) { } @Override public void onTabReselected(Tab tab, FragmentTransaction ft) { } }


Te sugiero que busques en todo el Fragmento de Reemplazar dentro de un tema de ViewPager y verifique el ejemplo en https://.com/a/11974777/685292 .