2012-01-20 88 views
6

到现在为止,我已经使用TabHost来为我的应用创建3个选项卡。每个选项卡由一个活动表示,其中我通过setContentView(R.layout.something)从XML文件获取布局。 所以3个选项卡,3个活动和3个XML文件。使用Viewpager从TabHost切换到碎片:我的代码放在哪里

现在我偶然发现了碎片,这是新的更好的方法,所以这是我的问题。

片段处理UI,因此创建3个片段,这些片段由FragmentPagerAdapter处理。在每个片段的内部,我通过XML文件创建内容。

但是我在哪里可以放置关于哪个按钮做什么的代码,从数据库中读取数据或写入数据等等。到目前为止,所有这些都是在Tabhost加载的每个Activity中。

不要我把所有的代码到每个片段的onCreate()等方法或有更好的和更清洁的方式做到这一点?

回答

3

你提出的方法非常好!

在做什么的地方,我建议你做任何事情来创建/更改每个片段的onCreateView()中的页面(片段)的UI,以及任何逻辑(读取数据库等) onActivityCreated()。我建议在一个片段中清除onCreate(),因为它在与一个Activity关联之前被调用(阻止你对内容提供者执行诸如托管查询之类的thigs)。按钮点击监听器可以在onCreateView或onActivityCreated()中定义。

任何更具体的,让我知道。不要忘记,标准的寻呼机不包括一行标签标题/图标,但谷歌ViewPagerIndicator,你会发现一个库,你可以用它来做到这一点。