私はAndroidプログラミングの初心者です。現在、デフォルトでデータをソート順に表示し、検索機能も提供するAndroidアプリケーションに取り組んでいます。このために、コンテンツを検索してリストビューに表示する検索というアクティビティを作成しました。私の問題は、デバイスを回転させると、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()
デバイスの回転中に呼び出されるメソッドを取得したくありません。この問題を解決するために私を助けてください。Samsung Galaxy Tab (7 インチ ディスプレイ) で Android 2.2 SDK を使用しています。