我们是否需要每个页面的活动类?

时间:2013-09-22 21:24:50

标签: android layout android-activity

我是Android的新手。我想问一下,我是否需要为我的应用中的每个页面创建一个活动类?如果不是我可以做什么来在屏幕上显示新页面? layout inflater是一个不错的选择吗?

谢谢。

3 个答案:

答案 0 :(得分:1)

  

让我们说,我有一个包含问题的列表视图。当您单击其中一个时,您将看到另一个页面的答案。这意味着很多活动类。然后我正在寻找另一种解决方案。

不,你不需要为此开展不同的活动。您可以进行"答案活动"动态。它可以根据单击的ListView项更改数据。这是解决您问题的简单方法。创建一个新的int变量并相应地更改它以单击哪个ListView项。如果单击索引0处的项目,则此int应为0.将其与附加活动一起传递到您的答案活动,并在您的答案活动中,实现IF语句。

if (intVariable == 0)
{
    //show answer 0
}
else if (intVariable == 1)
{
    //show answer 1
}

你明白了吗?

因此,如果您想根据单击的ListView项目更改布局,这可能会对您有所帮助。

您是仅更改图像来源还是实际布局位置?如果您正在改变位置,您可能还会创建另一个活动,因为以编程方式更改布局位置会花费太多时间并且它太复杂了。

您是否只想更改图像源但布局位置保持不变?然后这更容易。此代码可能对您有所帮助:

int position = //get int extras here
switch (position)
case 0:
    imageView1.setImageResources(r.id.yourPicture);
case 1:
    imageView1.setImageResources(r.id.yourPic2);

正如您所看到的,您的图像资源相应地更改为单击了ListView项目。

答案 1 :(得分:0)

是的,使用活动是显示内容的最常用方式。您可以通过Intent启动新活动,在屏幕上显示新内容,即新活动。因此,请务必查看活动生命周期

http://developer.android.com/training/basics/activity-lifecycle/index.html

另一方面,使用片段在屏幕上显示内容有时很有用。片段基本上是由一个父活动托管的“多个屏幕”。通过使用片段,您可以实现像Skype安卓应用程序中的视图。

以下是片段:http://developer.android.com/training/basics/fragments/index.html

总而言之:使用活动来展示静态内容和片段,让您的观看更具活力。

答案 2 :(得分:0)

没必要,这取决于您的设计。一个典型的例子是Android Gallery,它是在OpenGL中实现的。 Gallery的所有页面都在一个Activity中。优点是切换速度快,UI看起来很光滑。开始新的活动可能会花费很多并导致延迟。那么如何实现呢?您需要创建一个用于存储所有页面的堆栈,并在切换不同页面时手动控制(添加或删除)它们。无论如何,这取决于你想要如何设计你的应用程序(一些页面可以显示在新的活动中,一些页面可以不显示)。您必须考虑成本和性能。