更新#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);
}
一如既往,谢谢你的时间。