安卓 - SDK 20中的选项卡+滑动模板需要帮助

3

我非常喜欢Tabs+Swipe的模板,就是这个:

enter image description here

问题是,我不知道该如何开始在创建了该模板之后。 如何将布局放入每个选项卡页面中?

我们能否在选择选项卡时调用一个类?这样我就可以将第一个选项卡的视图存储在A类中,然后将第二个选项卡的视图存储在B类中。

我在Google上找不到任何相关信息,也许这是Android SDK的一个新功能?

谢谢


1
如果您已从SDK管理器下载了Android支持库,则\android-sdks\extras\android\support\samples\Support4Demos\src\com\example\android\supportv4\app\FragmentTabsPager.java提供了一个很好的示例,说明如何实现该功能。 - Sreejith Krishnan R
@SreejithKrishnanR 我下载了它并将其导入到我的工作区。但是我遇到了大约800个错误,主要是“无法解析”的错误。你知道怎么修复吗? - hrsetyono
我通过以下步骤解决了这个问题:1.右击导入的项目-属性-Android-项目构建目标,将Android 4.1设置为构建目标。2.之后清理项目(项目-清理)修复了项目中的所有错误。 - Sreejith Krishnan R
2个回答

3
如何将布局放入每个选项卡页面中?
生成的代码在布局文件中创建了一个ViewPager,并将操作栏选项卡连接到该ViewPager中的页面。个人而言,我更愿意使用PagerTabStrip或可能是ViewPagerIndicator等效项,但他们没有问我... :-)
无论如何,要填充页面,您需要替换(或完成)生成的活动的SectionsPagerAdapter和/或DummySectionFragment内部类。现在,这被设置为有三个页面,每个页面仅是一个TextView。但是,您可以让DummySectionFragment代替此方法,如果您正在寻找不同的布局,请为每个布局/选项卡组合创建单独的Fragment实现。然后,您将教授SectionsPagerAdapter您想要多少页(getCount()),并且对于每一页要使用什么(getItem())以及每个选项卡标题是什么(getPageTitle())。

谢谢回答。我创建了一个包含按钮的test.xml文件。然后,我将DummySectionFragment中onCreateView()方法的代码更改为:View view = getLayoutInflater(savedInstanceState).inflate(R.layout.test, container); return view;但它导致模板崩溃了,有什么想法吗? - hrsetyono
1
据我所知,getLayoutInflater()不需要参数,所以那段代码甚至不应该编译通过。你的onCreateView()传递了一个LayoutInflater--使用它即可。除此之外,查看LogCat中的堆栈跟踪信息。 - CommonsWare
1
我将getLayoutInflater()更改为传递的LayoutInflater参数。但是它也出现了这个错误:java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first. 这是什么意思? - hrsetyono
2
@DarcCode:尝试使用inflate(R.layout.test, container, false)。同时,请确保您不会为多个位置重复使用相同的充气视图。 - CommonsWare
1
@DarcCode:“那我应该创建3个不同的扩展Fragment的类吗?” - 我无法回答这个问题,因为它与您的整体应用逻辑和架构有关。如果所有选项卡都应具有相同的业务逻辑,只是数据不同,则单个Fragment类就足够了。只需从getItem()返回不同的实例即可。例如,请参见:https://github.com/commonsguy/cw-omnibus/tree/master/ViewPager/Fragments - CommonsWare
显示剩余2条评论

0

你能否提供一个在选项卡之间切换的活动示例?上面的示例并不理想。


在选项卡上使用Fragment更加容易。在选项卡上使用Activity相当复杂,不建议这样做。 - hrsetyono
嗯...这是作为答案吗?听起来更像是评论或需要额外信息的问题? - kleopatra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接