我是 android 编程的初学者,现在我正在开发一个 android 应用程序,它默认按排序顺序显示数据,并提供搜索功能。为此,我编写了一个名为 search 的活动,它将搜索内容并显示在列表视图中。我的问题是当我旋转设备时,即使在覆盖 onConfigurationChanged 方法之后也会调用 Activity 类的 onCreate 方法。我还在清单文件中进行了以下更改以调用 onConfigurationChanged 方法。
<activity
android:name=".Search"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="sensor" >
</activity>
我的搜索活动如下:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
System.out.println("HERE AT ONCREATE");
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
System.out.println("HERE AT ON CONFIGURATION CHANGED");
if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
setContentView(R.layout.search_port);
} else if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
setContentView(R.layout.search_land);
}
}
所以旋转设备时的输出将是:
此处配置已更改
在这里
我不想onCreate()
在旋转设备时调用该方法。请帮我解决这个问题。我正在使用带有三星 Galaxy Tab(7 英寸显示屏)的 Android 2.2 SDK。