我想知道是否有可能要求Android在方向更改时不重新加载一个Activity(我想重新加载其他人但是要杀掉这个!!)。
我已经检查了我可以在清单中设置的活动属性,但似乎没有人允许这样做。
谢谢!
答案 0 :(得分:1)
试试这个:
public boolean onRetainNonConfigurationInstance() {
return true;
}
public onCreate() {
if(getLastNonConfigurationInstance() != null) {
finish();
}
}
答案 1 :(得分:1)
很简单,在您的活动中覆盖onConfigurationChanged(Configuration config)并杀死其中的活动。
例如:
@Override
public void onConfigurationChanged (Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
finish();
}
这将导致在发生配置更改时终止活动。在config changes下的清单中为您的活动选择方向。您可以通过查看newConfig.orientation并将其与Configuration类中的纵向和横向常量进行比较来检查它要更改的方向类型。
答案 2 :(得分:0)
我想知道是否有可能要求Android在方向更改时不重新加载一个Activity(我想重新加载其他人但是要杀掉这个!!)。
可能?当然。一个好主意?不会。如果手腕的简单扭曲导致当前活动消失,用户将会感到非常困惑。他们可能会认为您的应用已损坏。
理想情况下,您允许用户以他们想要的任何方向使用您的活动。这是他们的设备,而不是你的设备。
如果由于某种原因某些活动仅在一个方向(例如横向)中有意义,请使用清单中android:orientation
元素中的<activity>
属性将其保持在该方向。