2014-02-21 41 views
0

我已阅读关于不同的布局,但仍不明白如何构建我的简单应用程序。简单的Android应用程序,我应该使用什么结构?

我只想要一个带有图像和一组按钮的屏幕。 当你按下一个按钮时,另一个屏幕从侧面滑入。 这第二个屏幕有一个图像和它自己的一组按钮。

当然,我可以使用两个单独的活动。但我希望两个屏幕都能访问我声明的一些变量。阅读完活动后,似乎使用父母和孩子的活动不是正确的解决方案,因为父母的活动可以从内存中删除,所以我的变量将会丢失。

所以,如果我有一个活动,并希望两个屏幕内容互动什么是最好的方式,我应该使用什么结构呢?

回答

1

那是什么片段的。见the api guide或只是谷歌的教程。你可以用回调函数在Fragments之间进行通信,但是你不一定需要,因为你可以通过点击按钮来调用静态类。这样你就不需要太多沟通。沟通很难描述,因为我们不知道按钮会做什么。但仍然:考虑使用碎片。他们的目的是为了做到这一点,并有大量的教程显示如何做到这一点确切的事情。过渡将比活动之间的过渡更为平淡。

通过碎片,您将拥有一个活动,该活动承载了承载Imageviews和Buttons的多个碎片。你可以实现轻扫或onclick或任何你想用来切换,然后做一个回调,如果你想返回数据。通过该回调函数调用你的Activity中的coresponding函数,你可以在其中创建下一个Fragment,添加数据并用它替换旧的Fragment。
如果深入解释Fragments如何工作将会是一个不同的问题,那将会有点过头。但基本上你会用它们做什么。

如果您决定使用Activities,则应该使用putExtra以intent方式。

0

您可以使用Intent在活动之间传递数据。将所需的数据添加到意向并开始新的活动。

Intent i = new Intent(this, SecondActivity.class); i.putExtra("one", "someValue"); i.putExtra("two", "anotherValue"); startActivity(i);

+0

那么活动是解决这个问题的最好方法吗?我的一个变量是一个巨大的数组。我不应该为我的第二个屏幕使用自定义视图类吗? – Skullbox

+0

使用'singleton'类来保存数组并以这种方式共享,或者,如您所说,使用自定义视图并将其设置为视图。正如你所说,如果你的数组是“巨大的”(你没有定义)通过'Intent'传递它可能是错误的解决方案。 – Simon

相关问题