我是Android应用程序开发的新手。在我的应用程序中,如果我单击按钮,它会将背景颜色从黑色更改为绿色。 如果我将模式从纵向更改为横向,则可以通过单击按钮将颜色从绿色更改为黑色。
我的要求是,必须通过将模式从纵向更改为横向或从横向更改为纵向来停止背景颜色更改。
请帮助我前进。
答案 0 :(得分:1)
当屏幕方向改变时,将调用方法onCreate()
。
我的猜测是你在这个Button.setBackgroundColor()
方法中呼叫onCreate()
...
尝试使用if(savedInstanceBundle == null){}
围绕此来电,就像它只会在第一次onCreate()
来电时将颜色设置为黑色,而不会用于任何后续来电。
答案 1 :(得分:0)
当您旋转设备时,再次onCreate()
方法调用以避免在代码
android:configChanges="orientation"
在活动的Manifest.xml中
<activity
android:name="com.sample.stackoverflow.MainActivity"
android:configChanges="orientation"
android:label="@string/app_name" />
如果您想在方向更改时加载特定布局:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// use your setcontentView here
}
答案 2 :(得分:0)
在清单中的活动声明中使用android:configChanges="orientation"
。喜欢这个
<activity android:name=".MyActivity"
android:configChanges="orientation"
android:label="@string/app_name">