私はアンドロイドプログラミングの初心者です。今ではデータをソート順でデフォルトで表示し、検索機能を提供するアンドロイドアプリケーションに取り組んでいます。このために、私はコンテンツと検索をリストビューで検索する検索と呼ばれるアクティビティを作成しました。私の問題は、デバイスを回転させるときに、onConfigurationChangedメソッドをオーバーライドした後でも、ActivityクラスのonCreateメソッドが呼び出されることです。また、onConfigurationChangedメソッドを呼び出すために、マニフェストファイルで以下の変更を行いました。次のように私の検索アクティビティがある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);
}
}
ので、出力デバイスを回転することになりながら:
HERE上の構成AT AT HERE
を変えましたONCREATE
私はデバイスを回転させながらonCreate()
メソッドを呼び出すことを望みません。この問題を解決するために私を助けてください。私はサムスンギャラクシータブ(7インチディスプレイ)でAndroid 2.2 SDKを使用しています。
マニフェストファイルのターゲットAPIのバージョンは何ですか?あなたはこのリンクをチェックしましたか?ターゲットが13以上であれば、「スクリーンサイズ」も必要になるようです。http://developer.android.com/guide/topics/manifest/activity-element.html – kosa
@thinksteep私は何が間違っているのか分かりませんが、デバッグ私は、onConfigurationChangedメソッドが呼び出された後、再びそのアクティビティのonCreateメソッドを呼び出すことができます。私はその奇妙だと思う。 – Krishna
試しましたか?http://developer.android.com/guide/topics/resources/runtime-changes.html – kosa