我正在制作一个应用程序,我想让控件进入某些活动,然后再回来。当我搜索到该问题时,我发现使用OnPause()
和OnResume()
可以解决此问题,但我不知道如何使用它们。
这是我将控件转移到其他活动的代码。请告诉我如何在这方面使用OnPause()
和OnResume()
。谢谢。
Intent intent = new Intent(MCQ.this,ConfigActivity.class);
int ClassIndex = 2;
intent.putExtra("ClassIndex", ClassIndex);
startActivity(intent);
答案 0 :(得分:3)
你没有太多意义。当您致电startActivity()
时,Android会将您当前的Activity
置于后台,并开始(或带到前台)Activity
中指定的新Intent
。
onPause()
从屏幕上消失时, Activity
会被呼叫,例如系统要么将其置于后台,要么终止它。
onResume()
在屏幕上显示时,会调用 Activity
,例如。在onCreate()
之后,如果Android创建了Activity
的新实例,或者系统将Activity
从后台带回来。
Activities
之间没有明确的控制权传递。如果它位于活动堆栈的顶部(在设备屏幕上可见),则可以与它进行交互。
http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle
答案 1 :(得分:1)
onPause()
和onResume()
由android调用
你的工作是实现这些方法。 onPause和onStop在Android的启动活动中被调用,而onCreate,onStart和onResume在您的启动时调用。如果您想返回,通常只需按设备上的后退按钮即可
您可能需要查看the Android devGuide,尤其是在Activity生命周期中。
答案 2 :(得分:1)
我认为您可能会对onPause()
和onResume()
的用途感到困惑。
onResume()
。您可以在此方法中使用您的意图,以便主Activity立即转到ClassIndex
活动。但是,当您离开ClassIndex
活动时,系统会再次调用onResume()
,这会将您发送回ClassIndex
。
onPause()
。这是用于锁定屏幕还是移动到另一个Activity
。在这种情况下,当您在主Activity中调用startActivity
时,Android会在主要活动中调用onPause()
,然后再输入新活动。
在这种情况下,您可能需要使用startActivityForResult()并使用它来确定您是否从ClassIndex
活动回来。如果没有,那就开始吧。如果是这样,那么继续进行主要活动。
更好的解决方案可能或者可能不是在ClassIndex
中启动应用程序,并在用户完成后转移到您的主要活动。如果您想在每次用户进入应用程序时转移到ClassIndex
,就会出现这种情况。