2017-12-22 13 views
0

私はカスタムビュー:class MyView extends LinearLayoutなどを持っています。子どもたちは別のカスタムビュー。
私は子のカスタムビューでonSaveInstanceStateonRestoreInstanceStateを実装しましたが、私はバックグラウンドでアプリケーションを置くときに呼び出されていないことに気付きました。
親ビューでそれらを実装する必要がありますかMyViewですか?親ビューでもonSave/restoreInstanceを実装する必要がありますか?

+0

てそのIDを設定することができます。 –

+0

@NguyễnHoàiNam:しかし、親ビューは子ビューの 'onSaveInstance'を呼び出すはずですか?私はどうすればいいのですか? – Jim

+0

ねえ、これは、非常に有用なhttp://trickyandroid.com/saving-android-view-state-correctly/を読むことをお勧めします –

答えて

0

onSaveInstanceStateonRestoreInstanceStateを既に表示している場合は、

View.getId()メソッドが> 0以外のIDを返す場合は、カスタムビューにIDが設定されていることを確認する必要があります。そのビューの状態は保存も復元もされません。

あなたは自分のカスタムビューのいずれかのためにそれらを実装するXML android:idまたはプログラム的View.setID()

+0

その子ビューはIDを持っています。あなたは親のビューを参照していますか? – Jim

関連する問題