我发现当我们通过屏幕旋转更改当前活动的方向时,之前的活动将在后台重新创建。Android活动正在重新创建时,不同屏幕方向的开始下一个活动
我想要说的是,例如:
我曾在清单文件
<activity android:screenOrientation="portrait" android:name="package.PotraitActivity"></activity>
<activity android:screenOrientation="landscape" android:name="package.MyActivity"></activity>
在PotraitActivity.java设置屏幕方向两个活动,
Button mybutton = (Button)findViewById(R.id.mybutton);
mybutton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view)
{ Intent intent = new Intent(this,MyActivity.class);
startActivity(intent);
}
});
当点击myButton时,LandscapeActivity已经启动。但同时也调用了PotraitActivity中的OnCreate()方法。
我发现同样的事情发生时:
- 屏幕方向两个活动不同,或者
- 屏幕旋转为MyActivity(screenOrientation =“用户”)启用。每次我们旋转MyActivity时,都会调用PotraitActivity中的OnCreate()方法。
任何人都有想法吗?
即使我已经设置了android:configChanges =“orientation”,发生了这种情况......无论如何感谢您的评论=) – Soosoo 2012-04-03 09:57:35
糟糕对不起Waqas ....我曾尝试将android:configChanges =“orientation”添加到包中。 PotraitActivity,它是作品!你能否进一步解释为什么这样做? – Soosoo 2012-04-03 10:11:25
这个设置告诉框架,如果方向发生变化,你会在你的代码中手动处理它(加载新的布局,如果有的话) – waqaslam 2012-04-03 10:59:19