activity 和布局之间的联系?如何更改布局?如何启动和销毁一个activity?
Connection between activity and layout? How to change layout? How to start and destroy an activity?
我是 Android 和 Eclipse 的初学者,我有几个问题可以帮助我理解 Android 的理念:
- activity 完成所有工作 "behind the scenes"。活动连接到 XML 文件中的布局。当activity 启动时,如果在
setContentView
方法中声明,将显示连接的布局。 Activity 可以是独立的,没有任何布局,它可以被另一个 activity 调用,并且会在不显示任何布局的情况下完成所有工作。
Activity 类似于 php 文件,由 HTML 中的提交按钮调用,布局为 .HTML 显示元素。
我说的对吗?
例如,如果我想更改我的应用程序的布局,我想在单击 Layout1.xml
中的按钮时显示 Layout2.xml
。然后我必须销毁与Layout1.xml
连接的activity并启动与Layout2.xml
连接的activity?这个对吗?有什么更好的方法吗?
我怎样才能(用什么方法)destroy/stop某个activity?
提前致谢。
最好的办法是阅读 Android 有关 http://developer.android.com/reference/android/app/Activity.html
活动的文档
不过我会在这里回答你的具体问题
Activity 是用户可以看到的 window(如果未定义布局,则为隐藏的 window)。它处理用户可以看到并与之交互的应用程序部分的逻辑。如果我们采用 MVC 模型(Model View Controller),Activity 就是控制器,它控制模型中的哪些数据显示在视图(xml 布局)上。
如果你想展示一个新的window/screen/activity你不需要破坏当前的。您可以打开一个新的 activity,同时将旧的保留在后台(在后台堆栈中)。通过使用片段,您可以在 activity 中包含多个片段,因此您可以在单个 activity 中更改片段,而不是更改活动。有关片段的更多信息,请查看 http://developer.android.com/reference/android/app/Fragment.html.
这一点很大程度上依赖于activity生命周期。当 activity 被销毁时,这意味着它正在完成,这可以通过用户在 activity 上按下后退按钮来完成,activity 调用 finish() 本身或通过Android 操作系统破坏了 activity 因为其他地方需要内存(当应用程序在后台时可能会发生这种情况)。
当我们说 activity 停止时,这意味着 activity 不再对用户可见。这可能是 activity 在后台堆栈中(另一个 activity 在它前面)或者应用程序已放入后台的情况。
这是对您问题的简短回答,但我强烈建议您阅读 Android 文档以获取更多知识。
我是 Android 和 Eclipse 的初学者,我有几个问题可以帮助我理解 Android 的理念:
- activity 完成所有工作 "behind the scenes"。活动连接到 XML 文件中的布局。当activity 启动时,如果在
setContentView
方法中声明,将显示连接的布局。 Activity 可以是独立的,没有任何布局,它可以被另一个 activity 调用,并且会在不显示任何布局的情况下完成所有工作。 Activity 类似于 php 文件,由 HTML 中的提交按钮调用,布局为 .HTML 显示元素。
我说的对吗?
例如,如果我想更改我的应用程序的布局,我想在单击
Layout1.xml
中的按钮时显示Layout2.xml
。然后我必须销毁与Layout1.xml
连接的activity并启动与Layout2.xml
连接的activity?这个对吗?有什么更好的方法吗?我怎样才能(用什么方法)destroy/stop某个activity?
提前致谢。
最好的办法是阅读 Android 有关 http://developer.android.com/reference/android/app/Activity.html
活动的文档不过我会在这里回答你的具体问题
Activity 是用户可以看到的 window(如果未定义布局,则为隐藏的 window)。它处理用户可以看到并与之交互的应用程序部分的逻辑。如果我们采用 MVC 模型(Model View Controller),Activity 就是控制器,它控制模型中的哪些数据显示在视图(xml 布局)上。
如果你想展示一个新的window/screen/activity你不需要破坏当前的。您可以打开一个新的 activity,同时将旧的保留在后台(在后台堆栈中)。通过使用片段,您可以在 activity 中包含多个片段,因此您可以在单个 activity 中更改片段,而不是更改活动。有关片段的更多信息,请查看 http://developer.android.com/reference/android/app/Fragment.html.
这一点很大程度上依赖于activity生命周期。当 activity 被销毁时,这意味着它正在完成,这可以通过用户在 activity 上按下后退按钮来完成,activity 调用 finish() 本身或通过Android 操作系统破坏了 activity 因为其他地方需要内存(当应用程序在后台时可能会发生这种情况)。
当我们说 activity 停止时,这意味着 activity 不再对用户可见。这可能是 activity 在后台堆栈中(另一个 activity 在它前面)或者应用程序已放入后台的情况。
这是对您问题的简短回答,但我强烈建议您阅读 Android 文档以获取更多知识。