我已经知道在Android中改变方向时不再调用OnCreate方法。
以下是代码。
<activity android:name=".MyActivity"
android:configChanges="orientation|keyboardHidden" />
但它不适用于我的谷歌Nexus 5.因为它有android kitkat操作系统。三星Mega android 4.2在哪里工作。
那么android kitkat在方向更改时停止调用OnCreate()
的代码是什么?
我还使用下面的代码
修正了方向<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@style/AppTheme" >
但该代码也无效。
(编辑)要修改方向,我需要在Activity标记中添加android:screenOrientation="portrait"
代码。谢谢@RupaliG
谢谢
答案 0 :(得分:1)
在onCreate中使用标记检查。在初始化/声明时使flag = true 在你的清单文件中添加android:configChanges =“orientation”
在您的Java文件中覆盖 onConfigurationChanged 方法并将该标志设为false。
执行此操作后,将调用onCreate,但中的代码如果将不会被调用。 将您的代码移到 if 条件中。
尝试使用它。
static boolean flag = true;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
if(!flag)
return;
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
Log.d("ONCONFIGCHANGE", "CALLED" );
flag = false;
super.onConfigurationChanged(newConfig);
}
答案 1 :(得分:0)
尝试2.3.3+中的这个:
android:configChanges="orientation|keyboardHidden|screenSize"