离开片段的活动然后返回似乎擦除了后台堆叠

时间:2012-06-28 15:00:57

标签: android android-fragments back-stack

更新#3

为了进一步了解这里发生了什么,我启动了Activity,它通过startActivityForResult加载VideoView,为它提供一个值(25)作为预期的requestCode。调用Activity的onActivityResult requestCode不是25。(它始终是131097,我确信它是特定的,并且只是作为测试期间内存使用的工件)。

更新#2

我从VideoView活动返回后做了一个强制的backstack pop,而不是沿着片段视图弹回,它弹回容器。怪异。

轻微更新

我添加了

    FragmentManager fm = this.getFragmentManager();
    backCount = fm.getBackStackEntryCount();

在onCreateView,onResume和onSaveInstanceState上查看是否删除了Backstack计数。它不是。所以...我猜这个后台架实际上并没有被删除,只是后面的按钮不再被访问了?几乎就像片段的容器有焦点,而不是内容。或者其他的东西。我在这里感到困惑。

结束更新

之前我问了一个类似的问题,但这个问题更具体,更奇怪。

我有一系列片段,允许用户在各种分类视频片段中进行选择。从视频剪辑视图开始,用户从“精彩集锦”,“访谈”等中选择。一旦选择了子类别,用户就会选择要观看的视频。从视频剪辑到子部分,然后点击后退按钮工作正常。但是,如果用户在子部分中选择视频,然后回击,则返回到子部分(好),如果他们再次回击,则没有任何反应。好像没有更多的靠背堆。

以下是相关代码:

Backstack创建:

protected void showSubmenu(BaseFragment fragment, String fragmentTagname) {
        FragmentTransaction transaction = getFragmentManager().beginTransaction();
        transaction.replace(R.id.fragmentSubmenu, fragment, fragmentTagname);
        transaction.addToBackStack(null);
        //transaction.add(R.id.fragmentSubmenu, fragment, fragmentTagname);
        transaction.commit();
    }

从子菜单转换为视频:

public void onListItemClick(ListView l, View v, int position, long id) {
    Video video = (Video) this.getListAdapter().getItem(position);
    String url = video.link.substring(29);;
    url = Kriptonic.getEncryptedURL(url);
    uri = Uri.parse(url);
    Intent intent = new Intent(_myActivity, VideoClips.class);
    startActivity(intent);
    }

一如既往,谢谢你的时间。

0 个答案:

没有答案