Android标签页:活动或视图



我正在尝试写一个小的Android应用程序来存储食谱作为实践。为了添加新食谱,我尝试使用标签。有三个标签,

  1. <
  2. 步骤/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");

希望能有所帮助

相关内容

  • 没有找到相关文章

最新更新