2011-07-30 9 views
0

私のアプリには2つのレイアウトがあります。常に1つしか表示されません。アプリが起動すると、基本レイアウトは可視、代替 - に設定されます。ボタンを押すと、それを反対に変更することができます。代替レイアウトのボタンを押す - それを元に戻します。
主な問題は、代替レイアウトビューで画面を回転させると、基本的なものに戻ります。私のマイルストーンでキーボードをスライドさせた後も同じことが起こります。
これを防ぐ簡単な方法はありますか?
私はマニフェストアプリはローテーション時にレイアウトが変更されます

主な活動で
android:configChanges="keyboardHidden|orientation" 

、その後に実際に何もしませんonConfigurationChangedメソッドを追加しようとしたが、私はきちんと考えを理解していないと思います。
事前にお世話になりました。

答えて

0

オリエンテーションが変更されると、アクティビティが再作成されます。したがって、レイアウトは再膨張されます。レイアウトが変更されたときにトグルされるブール値が必要です。次に、onCreateメソッドのbooleanをチェックし、正しいレイアウトを表示します。このlinkが役に立ちます。

+0

私はonRetainNonConfigurationInstance()をオーバーライドし、現在のレイアウトに関する情報を保存しました。 – ThunderSS

0

私はあなたがそれについて学ぶ必要があると思います。あなたの要素のidをXMLファイルに与えると、あなたの要素は消えません。あるいは、もしあなたがレイアウト - 土地の接尾辞付きファイルに新しいレイアウトを作ったとしてもそれは素晴らしいでしょう。それが役に立てば幸い。

関連する問題