2012-01-13 10 views
0

私はAndroidアプリケーションを初めて使用しています。 私のadnroidアプリケーションはエミュレータで正常に動作しますが、実際のアンドロイドデバイス(Softbank 003 SH)で動作しています。デバイスを縦長から横長に回転させると、アプリケーションが突然停止します。 この問題を解決するためのヒントはありますか?回転時にAndroidアプリケーションが予期せず停止する

+0

デバイスをローテーションすると、アクティビティは実際に破棄されて再作成されます。 [Activity](http://developer.android.com/reference/android/app/Activity.html)のドキュメントのアクティビティライフサイクルの情報を確認してください。 – tidbeck

答えて

2

再作成されます活動風景からポートレートにデバイスを回転させるときに停止し、任意のビルダーが実行されている場合ので、エラーが発生しますスレッド:

スタート アンドロイド加えることで:にconfigChangesノードをあなたの活動のマニフェストノード

android:configChanges="keyboardHidden|orientation" 

は、その後の活動の中onConfigurationChangedメソッドをオーバーライドし、新しい方向に再実行する必要がGUIレイアウトを強制するためにsetContentViewを呼び出します。

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
    setContentView(R.layout.myLayout); 
} 
+1

ありがとうございました!私の場合、androidmanifest.xmlファイルにandroid:screenOrientation = "nosensor" android:configChanges = "keyboardHidden | orientation"を追加して問題を修正しました。 – Aloha

1

エミュレータで回転をシミュレートするには、CTRL + F12を使用します。

「予期しない」ストップは、回転するとアクティビティが再ロードされ(onCreateが再度実行されるなど)、おそらくAndroidのコーディング方法に従わず、一部の変数が終了するためです初期化されていません! AndroidのようなWindows(アプリケーションあり)が動作すると仮定するのは非常に一般的なエラーですが、非常に一般的に、iPhoneや動的なWebページ(半独立型のフォーム)のように機能します。

LogCatでエラーを確認してください。

関連する問題