アプリケーションの言語とテーマを変更できる環境設定アクティビティがあります。そこから、戻るキーを使用して前のアクティビティに戻り、アクティビティを再作成したいと考えています。
onResume
レイアウトを再初期化し、そこから呼び出すことで、なんとかそれを行うことができましたonRestoreInstanceState
。すべてのビューが適切に復元され、必要に応じてチェックボックスがオンになり、以前に残したテキストで満たされた編集テキストが表示されます。
しかし、最初は無効になっていて、ラジオボタンがチェックされている場合にのみ有効になるボタンもあります。問題は次のとおりです。ラジオボタンをチェックすると、ボタンが有効になります。次に、設定に移動し、そこでテーマを変更して、最初のアクティビティに戻ります。そこに着くと、ラジオボタンはチェックされた状態に戻りますが、ボタンは無効になっています。
そのため、有効/無効の状態がバンドルに保存されていないようです。これは直感に反するようです。また、これを行う Android ソースのコードも見つかりませんでした。何か不足していますか、それとも独自のコードを作成する必要がありますか?
編集:ところで、状態はIDを持つビューに対してのみ保存されます。そして、そのボタンには1つあります。私はそれを保証します:)