我正在尝试写一个小的Android应用程序来存储食谱作为实践。为了添加新食谱,我尝试使用标签。有三个标签,
- <
- 步骤/gh>媒体
我想"成分"有一个列表视图,"步骤"有一个列表视图,和"媒体"有一个图库。我将通过选项菜单中的一些选项添加新的配料、步骤和介质。当完成后,我想把所有的东西都写进SQLite数据库。
我想知道我是否应该为每个选项卡使用不同的活动或不同的视图?
如果我使用不同的活动,在活动之间传递信息会很困难吗?
如果我使用不同的视图,视图都必须是同一个布局文件的一部分吗?例如,关于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都在同一个框架布局内,每个TextView只用于一个选项卡。我认为这将是有点混乱,如果视图更复杂,例如,一些嵌套在其他东西,这是嵌套在其他东西。为每个标签使用不同的活动,我可以为每个标签指定不同的布局文件。
我想知道我是否应该为每个选项卡使用不同的活动或不同的视图?
使用Activities作为选项卡内容已被弃用。你仍然可以这样做,但如果你刚刚开始这个项目,那么使用视图将是一个更好的方法。
如果我使用不同的活动,在活动之间传递信息会很困难吗?
是也不是,但这取决于你的专业水平——在活动之间传递信息通常涉及使用意图(尽管有其他方法)。虽然无论它们是独立的还是标签环境的一部分,这都是一样的,但这确实需要一些思考。
如果我使用不同的视图,视图都必须是同一个布局文件的一部分吗?
没有,但是当你使用TabActivity开始时,你可能想尝试一下那个教程中的方法。
可以有不同的布局(任何类型的活动),并根据需要自己膨胀,但这是一个更复杂的主题。
我不确定哪一个更好,但根据你的问题,是否很难在不同的活动之间传递信息是相当简单的。
如果你有两个活动,activityA和activitb,你想从A发送信息到B,那么你可以使用下面的
Intent intent = new Intent(activityAClassName.this, activityBClassName.class);
intent.putExtra("keyName", "value");
startActivity(intent);
然后从activityB中的activityA获取值并将此代码放入activityB
Bundle bundle = this.getIntent().getExtras();
string value = bundle.getString("keyName");
希望能有所帮助