我正在尝试编写一个小的 Android 应用程序来存储食谱作为练习。要添加新食谱,我正在尝试使用标签。共有三个选项卡,
- 成分
- 步骤
- 媒体
我希望“成分”有一个 ListView,“步骤”有一个 ListView,“媒体”有一个图片库。我将通过选项菜单中的一些选项添加新的成分、步骤和媒体。完成后,我想将所有内容写入 SQLite 数据库。
我想知道我是应该为每个选项卡使用不同的 Activity 还是只使用不同的 View ?
如果我使用不同的 Activity ,是否很难在 Activity 之间传递信息?
如果我使用不同的 View ,所有 View 都必须是同一个布局文件的一部分吗?例如,tutorial on TabWidgets执行以下操作:
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/textview1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="this is a tab" />
<TextView
android:id="@+id/textview2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="this is another tab" />
<TextView
android:id="@+id/textview3"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="this is a third tab" />
</FrameLayout>
所以所有的 TextView 都在同一个 FrameLayout 中,每个 TextView 只用于一个选项卡。我认为如果 View 更复杂,这会有点困惑,例如某物嵌套在其他东西中,它再次嵌套在其他东西中。为每个选项卡使用不同的 Activity ,我可以为每个选项卡指定不同的布局文件。
最佳答案
I'm wondering if I should use different activities or just different views for each tab?
使用 Activity 作为选项卡内容已被弃用。您仍然可以这样做,但如果您刚刚开始这个项目,那么改用 View 会是更好的方法。
If I use different activities, would it be hard to pass information between the activities?
是和否,但这取决于您的专业水平 - 在 Activity 之间传递信息通常涉及使用 Intents(尽管还有其他方法)。尽管它们是独立的还是属于选项卡式环境的一部分都没有任何区别,但这确实需要一些思考。
If I use different views, do the views all have to be part of the same layout file?
不,但您可能想在开始使用 TabActivity 时尝试该教程中的方法。
可以有不同的布局(对于任何类型的 Activity)并根据需要自行扩充它们,但这是一个更复杂的主题。
关于安卓标签 : Activities or Views?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6892400/