0

カスタム ビューに問題があります。画面をオフにして再度オンにすると、その状態が保存されません。

onSaveInstanceState画面をオフにすると正しく呼び出されますが、画面をオンにすると onRestoreInstanceState は呼び出されません。アクティビティが再作成されていないことが原因であることは理解していますが、ビューの状態を復元するために他に何を使用すればよいかわかりません。

onStart() または onResume() で何かをする必要があると思いますが、ビューは複数のアクティビティで使用され、非常に不便であるため、アクティビティではなくビューでこれを行いたいと思います。

onWindowsVisibilityChanged など、他のいくつかの方法を試しましたが、うまくいきませんでした。

他にどのような方法を使用できますか?

ありがとうございました。

編集: 詳細: 私が保持したいのは、ボタンがオンまたはオフに切り替えられているかどうかを知らせるブール値のみであるため、外観を変更できます。私の介入なしにその外観を維持する必要があることはわかっていますが、実装には少しバグがあります。

4

1 に答える 1

1

もう少し試行錯誤した後、必要なイベントを取得することができましたonWindowFocusChanged(Boolean hasWindowFocus)。私に関する限り、これは と同じ機会を与えてくれますonResume()。なぜなら、ウィンドウが表示されて前面に移動するのと同じように呼び出されるからです。

于 2012-02-18T22:53:06.100 に答える