什么Android事件只调用一次,直到活动被销毁?
我在寻找一个单一的答案(但我可能问错了问题) 问题-在活动被销毁之前,是否有任何事件只调用一次总计 我这样问是因为当我的用户将手机旋转到横向时,oncreate和onstart都会被调用,从而导致重新加载 我正在寻找一个我可以将行为放入其中的事件,该事件只能运行1x(直到活动被终止)什么Android事件只调用一次,直到活动被销毁?,android,android-event,Android,Android Event,我在寻找一个单一的答案(但我可能问错了问题) 问题-在活动被销毁之前,是否有任何事件只调用一次总计 我这样问是因为当我的用户将手机旋转到横向时,oncreate和onstart都会被调用,从而导致重新加载 我正在寻找一个我可以将行为放入其中的事件,该事件只能运行1x(直到活动被终止) 提前感谢您您没有真正指定要使用它做什么,因此我不能保证它适合您的使用,但只调用一次。如果它是特定于活动的,请在onCreate事件中检查savedInstanceState参数。如果为空,则运行代码,否则,代码已运
提前感谢您您没有真正指定要使用它做什么,因此我不能保证它适合您的使用,但只调用一次。如果它是特定于活动的,请在onCreate事件中检查savedInstanceState参数。如果为空,则运行代码,否则,代码已运行 例如:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
if(savedInstanceState == null) {
// Run your code
}
}
第一次运行onCreate时,savedInstanceState将始终为空,此后将填充它。检查以处理配置更改并在它们之间维护大量数据…如果在配置更改之间只需要维护设置,则可以使用onSavedInstanceState()以及onRestoreInstanceState()回调和给定的bundle。如果要消除在orientationchange上重新创建活动,可以侦听清单中的配置更改
<activity
android:name=".MyActivity"
android:configChanges="orientation" >
</activity>
重新创建布局,使其与新方向匹配,而不重新创建整个活动。在横向切换期间重新加载“我的视图”时,为什么会调用此选项?我有一个在oncreate中调用http端点的事件,每次切换方向时它都会被命中Android会终止您的活动,并在方向发生更改时重新创建它们…您的主题和内容不同…您希望只为活动或应用程序调用一次方法…这是两种不同的方法事情…太棒了!这正是我要找的!不建议采用这种方法。例如,这是错误的-
android:configChanges
中需要的值比您拥有的要多,仅用于旋转事件。其次,它不能处理所有配置更改。有几个地方,android:configChanges
是一个合理的答案,但没有那么多,考虑到动态片段和setRetainInstance(true)
等东西的出现,答案就更少了。
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged( newConfig );
LinearLayout main = (LinearLayout) findViewById( R.id.mainLayout );
main.requestLayout();
}