Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
选项卡式android应用程序基本结构_Android_Android Listfragment_Android Fragmentactivity - Fatal编程技术网

选项卡式android应用程序基本结构

选项卡式android应用程序基本结构,android,android-listfragment,android-fragmentactivity,Android,Android Listfragment,Android Fragmentactivity,我正在将我的应用程序从iOS移植到Android,我想让它具有与iOS tabbar相同的选项卡式布局 我发现目前最好的方法是为每个“选项卡”设置一个带有片段的操作栏。这是可行的,但我不明白如何在每个选项卡内导航。例如:一个选项卡片段是一个listfragment,当我点击一个列表条目时,我想推送一个新的(片段或活动?.suggestions),显示该条目的详细信息 在我用于select事件的listfragment中: getFragmentManager() .begin

我正在将我的应用程序从iOS移植到Android,我想让它具有与iOS tabbar相同的选项卡式布局

我发现目前最好的方法是为每个“选项卡”设置一个带有片段的操作栏。这是可行的,但我不明白如何在每个选项卡内导航。例如:一个选项卡片段是一个listfragment,当我点击一个列表条目时,我想推送一个新的(片段或活动?.suggestions),显示该条目的详细信息

在我用于select事件的listfragment中:

 getFragmentManager()
         .beginTransaction()
         .replace(what_goes_here?, detailsfrag)
         .commit();
我尝试过的任何方法都只是在listfragment上方添加detailsfrag

这是正确的布局吗?(3个标签,每个标签一个碎片,每个标签一个推动碎片) 附加问题:碎片和碎片活动之间的区别


非常感谢。

你走对了方向。
.replace()
函数用于处理片段-应该由另一个片段替换的片段。第一个由其容器id标识的容器-例如
R.id.fragmentContainer
。第二个由引用标识。Link

我最终打算启动一个新的FragmentActivity,但它隐藏了actionmenu选项卡。但这是考虑android最佳实践的方式。事实上,我想要显示的片段实际上应该是一个符合android操作方式的活动。
twitter的应用程序也是这样工作的,所以我认为这是正确的方法。

首先有一个额外的问题:FragmentActivity是活动的一个子类,应该包含片段。它提供一些常用功能,例如碎片管理器。您可以使用它,但不必使用。但是我看到第一个参数是容器,而不是要替换的片段……事实上,我尝试了您的建议,使用了这个。getid(),但它不起作用。您是对的,我更正了我的答案。另一个提示:只能替换动态添加的片段。xml布局文件中定义的片段无法替换。是的,它们是动态添加的,这就是为什么我无法理解listfragment的容器。因为如果我使用android.R.id.content,它会替换所有内容(以及其他选项卡)。我使用了eclipse提供的默认导航模板以及选项卡和寻呼机导航(FragmentPagerAdapter子类化,它返回所选选项卡的正确片段)Ok。越来越近了。你需要某种容器。一个寻呼机怎么样。它通常与ActionBar选项卡结合使用,并允许滑动。它在那里,但如果我在替换调用(R.id.pager)中使用它,而不是加载新片段,我会得到一个空页面,如果我在选项卡之间进行两次滑动,我会得到Coreographer运行时异常