Android: Nicht zu ersetzen fragment in viewpager

Hallo, ich bin versucht, dies für 2 Wochen und immer noch nicht in der Lage zu ersetzen, die ein fragment mit einer anderen im viewpager. Ich habe drei Fragmente, die als Registerkarten im viewpager ,wenn ich auf einen button in das erste fragment , die ich ersetzen will, die firstfragment mit fourthfragment. Iam tut unten aber es funktioniert nicht

 productDetailFragment = new PlaceSearchFragment();            
    FragmentTransaction transaction = getFragmentManager().beginTransaction();
    transaction.addToBackStack("fh");
    transaction.replace(R.id.maincontainer,productDetailFragment,"yourfragment").commit();

Unten ist meine MainActivity mit viewpager

public class MainActivity extends FragmentActivity implements
        ActionBar.TabListener {

    private ViewPager viewPager;
    private TabsPagerAdapter mAdapter;
    private ActionBar actionBar;
    //Tab titles
    private String[] tabs = { "New", "Recent", "All" };


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //Initilization
        viewPager = (ViewPager) findViewById(R.id.pager);
        actionBar = getActionBar();
        mAdapter = new TabsPagerAdapter(getSupportFragmentManager());

        viewPager.setAdapter(mAdapter);


        //Adding Tabs
        for (String tab_name : tabs) {

            actionBar.addTab(actionBar.newTab().setText(tab_name)
                    .setTabListener(this));

        }


        viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

            @Override
            public void onPageSelected(int position) {
                //on changing the page
                //make respected tab selected
                actionBar.setSelectedNavigationItem(position);
            }

            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {
            }

            @Override
            public void onPageScrollStateChanged(int arg0) {
            }
        });
    }

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

    @Override
    public void onTabSelected(Tab tab, FragmentTransaction ft) {
        //on tab selected
        //show respected fragment view
        viewPager.setCurrentItem(tab.getPosition());

    }

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

Unten ist mein Fragmentpageadapter

public class TabsPagerAdapter extends FragmentPagerAdapter {

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

    @Override
    public Fragment getItem(int index) {

        switch (index) {
        case 0:
            //Top Rated fragment activity
            return new GetRideFragment();
        case 1:
            //Games fragment activity
            return new PostRideFragment();
        case 2:
            //Movies fragment activity
            return new SearchRidesFragment();
        }

        return null;
    }

    @Override
    public int getCount() {
        //get item count - equal to number of tabs
        return 3;
    }

}

viel gesucht und versucht, verschiedene Möglichkeiten, aber ich bin nicht in der Lage, damit es funktioniert.Eine etwaige be-Beispiel oder eine Lösung für dieses wird sehr hilfreich sein.Jede Hilfe wird sehr geschätzt

  • hast du eine Antwort dafür????
  • Sind Sie in der Lage, dieses Problem zu beheben?
  • Haben Sie dieses Problem behoben?
InformationsquelleAutor teekib | 2014-02-20
Schreibe einen Kommentar