0

我正在制作一个应用程序,我想让控件进入某些活动然后返回。OnPause()当我搜索该问题时,我开始知道使用and可以解决此问题OnResume(),但我不知道如何使用它们。

这是我将控件转移到其他活动的代码。请告诉我如何使用OnPause()以及OnResume()在这方面。在此先感谢。

Intent intent = new Intent(MCQ.this,ConfigActivity.class);
            int ClassIndex = 2;
            intent.putExtra("ClassIndex", ClassIndex);
            startActivity(intent);
4

3 回答 3

3

你没有太多意义。当您调用 时startActivity(),Android 会将您的 currentActivity置于后台,并启动(或置于前台)Activity您在Intent.

onPause()Activity当您从屏幕上消失时调用,例如。系统要么将其置于后台,要么终止它。

onResume()Activity当您在屏幕上可见时调用,例如。要么是在onCreate()Android 创建了你的新实例之后Activity,要么是当系统将你Activity从后台带回来时。

之间没有明确的控制传递Activities。如果它位于活动堆栈的顶部(在设备屏幕上可见),则您可以与它进行交互。

http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

于 2012-07-30T13:01:41.283 回答
1

我想你可能对什么onPause()onResume()用于什么感到困惑。

onResume()当 Activity 即将向用户显示它的视图时调用。您可以在此方法中使用您的意图,以便主 Activity 会立即转到该ClassIndexActivity。但是,当您离开ClassIndex活动时,onResume()将再次调用它会将您送回ClassIndex

onPause()在 Activity 离开时调用。这是为了锁定屏幕还是移动到另一个Activity。在这种情况下,当你startActivity在主Activity中调用时,Android会onPause()在进入新的主Activity之前调用主Activity。

在这种情况下,您可能想要使用startActivityForResult()ClassIndex并使用它来确定您是否从活动中回来。如果没有,那就开始吧。如果是这样,那么继续进行主要活动。

一个更好的解决方案可能是或可能不是在ClassIndex用户完成应用程序时启动应用程序并移动到您的主要活动。如果您想在ClassIndex每次用户进入应用程序时移动到,就会出现这种情况。

于 2012-07-30T13:01:17.207 回答
1

onPause()并由onResume()android调用。
你的工作是实现这些方法。onPause 和 onStop 在 Android 启动时调用,onCreate、onStart 和 onResume 在启动时调用。如果要返回,通常只需按设备上的返回按钮即可。
您可能想查看Android devGuide,尤其是 Activity 生命周期。

于 2012-07-30T12:57:22.633 回答