有人能给我一个在Android中使用onResume()
的例子吗?
另外,如果我想在另一个活动完成执行时重新启动该活动,应该执行哪个方法--onCreate()
还是onResume()
?
如果我想更新数据,如何将其放入onResume()
中?
有人能给我一个在Android中使用onResume()
的例子吗?
另外,如果我想在另一个活动完成执行时重新启动该活动,应该执行哪个方法--onCreate()
还是onResume()
?
如果我想更新数据,如何将其放入onResume()
中?
任何重新启动的活动都会首先执行其onResume()方法。
要使用此方法,请按照以下步骤进行操作:
@Override
public void onResume(){
super.onResume();
// put your code here...
}
重启应用程序将调用OnCreate()
。
当暂停的应用程序继续运行时,将调用OnResume()
。从官方文档https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle中可以看到活动生命周期的示意图。
onCreate()
首先被调用,然后如果通过转到主屏幕或启动另一个活动暂停了活动,则会调用onPause()
。如果操作系统在此期间销毁了该活动,则会调用onDestroy()
。如果您恢复应用程序并且已经销毁了应用程序,则将调用onCreate()
,否则将调用onResume()
。onStop()
,它在onDestroy()
之前被调用。onResume()
,但我想补充一些关于重新创建Activity
的内容。
答案是我想知道如果我想在另一个操作执行结束时重新启动活动,那么会执行
onCreate()
还是onResume()
方法?
onCreate()
。然而,在决定是否要重新创建它时,你应该问自己需要重新创建多少Activity
。如果是适配器中的数据(例如列表),则可以在适配器上调用notifyDataChanged()
来重新填充适配器,而不必重绘所有内容。views
而不是所有views
,则可能更有效地在需要更新的view
上调用invalidate()
。这将仅重新绘制那些views
,可能使您的应用程序运行更流畅。希望这能帮到您。onResume()
是在activity生命周期中调用的方法之一。当activity被隐藏,例如启动一个新的activity隐藏它时,onResume()
就是相应的方法onPause()
的对应方法。当隐藏的activity重新显示在屏幕上时,onResume()
将被调用。
你的问题询问的是重新启动activity所使用的方法。当activity首次创建时,onCreate()
被调用。实际上,大多数activity通过一系列onPause()
和onResume()
调用保留在后台。只有通过调用onStop()
将activity完全停止并重新启动时,才会真正地“重新启动”activity,此时onRestart()
被调用。因此,如果您没有使用onStop()
来停止activity,那么您很可能会使用onResume()
。
阅读上面链接中的android文档,以更好地了解不同生命周期方法之间的关系。无论您最终使用哪种生命周期方法,通用格式都是相同的。您必须覆盖标准方法并在注释部分中包含您的代码,即在该点上您希望activity执行的操作。
@Override
public void onResume(){
//will be executed onResume
}
KOTLIN
任何需要重新启动的活动都会首先执行其onResume()方法。
若要使用此方法,请按以下步骤操作:
override fun onResume() {
super.onResume()
// your code here
}
另一个活动(B)已暂停、停止或销毁,而活动A可能已被暂停(onPause()),在这种情况下,活动A将调用onResume()
活动B已暂停、停止或销毁,活动A可能由于内存问题已停止(onStop()),在这种情况下,活动A将首先调用onRestart(),然后是onStart(),最后是onResume()
活动B已暂停、停止或销毁,活动A已被销毁,程序员可以手动调用onStart()来首先启动活动,然后是onResume(),因为当一个活动处于销毁状态时,活动尚未启动,并且这发生在活动被完全删除之前。如果活动被删除,需要重新创建活动。我认为手动调用onStart()是因为如果活动未启动并且已创建,onStart()将在onCreate()之后调用。
如果要更新数据,请创建数据更新函数并将其放置在onResume()中。或者在onResume()中放置一个loadData函数。
最好使用Activity生命周期图来理解生命周期。