相关疑难解决方法(0)

将片段替换为ViewPager中的另一个片段

我正在使用ViewPager和FragmentPagerAdapter来托管三个不同的片段

[Fragment1][Fragment2][Fragment3]
Run Code Online (Sandbox Code Playgroud)

我想要实现的是如果特定任务成功,用一个全新的片段Fragment4成功替换Fragment1.

我用的时候..

FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.replace(R.id.fragment1_layout_id, fragment4);
transaction.commit();
Run Code Online (Sandbox Code Playgroud)

..片段被精美地替换,片段4被显示而不是片段1.虽然只要我一直滑到Fragment3然后再回到Fragment4,Fragment1就会卷土重来.

然后,如果我使用..

FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.remove(fragment1);
transaction.commit();
Run Code Online (Sandbox Code Playgroud)

..Fragment1被删除,当我回来时Fragment4就在那里.所以这个解决方案的问题是我找不到立即显示Fragment4的方法,因为Fragment1被删除了,即使我尝试过:

transaction.add(fragment4);
transaction.show(fragment4);
Run Code Online (Sandbox Code Playgroud)

这就是我的FragmentPagerAdapter实现目前的样子,没有任何事务管理:

public static class PagerAdapter extends FragmentPagerAdapter {

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

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

    @Override
    public Fragment getItem(int position) {

        Fragment fragment = null;

        switch (position) {
        case 0:
            fragment = Fragment1.newInstance(context_);
            break;

        case 1:
            fragment = Fragment2.newInstance(context_);
            break;

        case …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager

23
推荐指数
1
解决办法
4万
查看次数

Actionbarsherlock + tabs +多片段?

我努力让actionbarsherlock + tabs + fragment工作.

我只能让这套作为静态工作,我想创建这个像Android市场应用程序(滑动运动).

当你需要用里面的多个片段来扩充布局时,我会陷入困境.

在Support4demos中,我以FragmentsTabsPager为例进行了跟踪.

tabs android android-fragments actionbarsherlock

17
推荐指数
2
解决办法
2万
查看次数