2

我是安卓新手。我想问我是否需要为我的应用程序中的每个页面创建一个活动类?如果不是,我该怎么做才能在屏幕上显示新页面?这是layout inflater一个不错的选择吗?

谢谢你。

4

3 回答 3

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 项目。

于 2013-09-22T21:30:26.580 回答
0

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

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

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

这里有更多关于片段:http: //developer.android.com/training/basics/fragments/index.html

总而言之:使用活动显示静态内容和片段,使您的视图更加动态。

于 2013-09-22T21:36:03.023 回答
0

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

于 2013-09-23T02:10:28.823 回答