FC2ブログ
HOME   »  スポンサー広告  »  スポンサーサイト   »  Android  »  [Android]画面の向きを変えた時にActivityの状態を保持する

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[Android]画面の向きを変えた時にActivityの状態を保持する

画面の向きを変える(縦→横/横→縦)と、通常はActivityが一旦破棄(onDestroy)された後再生成(onCreate)される為、Activityの状態が初期状態に戻ってしまう。

これを防止する為には、AndroidManifest.xml内のactivityタグにandroid:configChanges属性を追加すればよい。
<activity android:name="xxxxxxx.MainActivity"
          android:label="@string/app_name"
          android:configChanges="orientation">
android:configChanges属性でorientationを指定してやると、画面の向きが変わった時の処理はアプリケーション側で引き受ける、と宣言したことになり、勝手?にActivityが更新されてしまうことを防止できる。

(2011-05-30 追記)
画面の向きが変わった際、orientationのイベント以外にkeyboardHiddenのイベントも発生する場合があり、万全を期す為には、以下の様にorientationに加えてkeyboardHiddenも指定した方がよいかも(複数同時に指定する場合は、"|"で区切って併記する)。
<activity android:name="xxxxxxx.MainActivity"
          android:label="@string/app_name"
          android:configChanges="orientation|keyboardHidden">
尚、android:configChanges属性で指定したイベントが発生した時は、Activityが更新される代わりにonConfigurationChangedメソッドが呼ばれる為、このメソッドをオーバーライドすることにより、イベント発生時の処理をアプリケーション側で任意に実装することができる。


関連記事
Comment
Trackback
Trackback URL
Comment Form
管理者にだけ表示を許可する
プロフィール

まさお

Author:まさお
プログラミングは趣味レベルなので、お手柔らかに。

ブログランキング
ブログランキング参加中。是非クリックお願いします。


にほんブログ村 IT技術ブログ Androidアプリ開発へ

人気ブログランキングへ

ブログランキング



ブログ王

ブログランキング【ブログの惑星】

プログラム人気ブログランキング
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。