android - 在 fragmentTabs 之间切换会产生意想不到的结果

标签 android android-fragments android-tabhost android-tabs

我正在尝试实现 FragmentTabs,如 http://developer.android.com/resources/samples/Support4Demos/src/com/example/android/supportv4/app/FragmentTabs.html 中所示.一切顺利,直到我这样做:

我从一个选项卡开始了很多不同的 fragment ,例如:

tab1--> fragment 1---> fragment 2---> fragment 3

标签2

但是当我切换到 tab2 并再次返回到 tab1 时,我得到的是 fragment1 屏幕而不是 fragment3(即我在第一个选项卡中有 3 个 fragment ,当我在第 3 个 fragment 上时,我在切换到第二个选项卡后再次出现在第一个选项卡上, 我被带到第一个 fragment 而不是第三个 fragment )..任何人都可以告诉可能是什么问题吗?

        @Override
        public void onTabChanged(String tabId) {
            TabInfo newTab = mTabs.get(tabId);
            if (mLastTab != newTab) {
                FragmentTransaction ft = mActivity.getSupportFragmentManager().beginTransaction();
                if (mLastTab != null) {
                    if (mLastTab.fragment != null) {
                        ft.detach(mLastTab.fragment);
                    }
                }
                if (newTab != null) {
                    if (newTab.fragment == null) {
                        newTab.fragment = Fragment.instantiate(mActivity,
                                newTab.clss.getName(), newTab.args);
                        ft.add(mContainerId, newTab.fragment, newTab.tag);
                    } else {
                        ft.attach(newTab.fragment);
                    }
                }

                mLastTab = newTab;
                ft.commit();
                mActivity.getSupportFragmentManager().executePendingTransactions();
            }
        }

当我评论 attach() 和 detatch() 时,我得到了这个:

enter image description here

最佳答案

没有更多细节,很难具体说出哪里出了问题。但是,我可以根据个人经验说,当我第一次不得不实现 fragment 选项卡时,我在找到有用的东西之前浏览了很多糟糕的教程。最终对我有意义的教程在这里: http://thepseudocoder.wordpress.com/2011/10/04/android-tabs-the-fragment-way/

作为奖励,还有一些 Github 源代码: https://github.com/mitchwongho/Andy/tree/master/Andy/src/com/andy/fragments/tabs

关于android - 在 fragmentTabs 之间切换会产生意想不到的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10600660/

相关文章:

java - Android .setColor 大图标

Android源码库: where is partition table defined

android - 为什么后台堆栈中的零 fragment

android其他activity点击返回键到listview,listview项无法在选项卡下点击

android:layout_marginBottom 底部不留空间

java - 二进制文件作为字符串读取并存储为 Base64

java - 非空对象上的空指针取消引用异常

android - 将图像从 ImageView 保存到内部/外部设备存储器中

android - 从 Google Map 的 setOnInfoWindowClickListener 接口(interface)方法替换 fragment 时 UI 挂起

android - 如何在 TabActivity 中切换其他 Activity 时销毁 Activity