2017-10-08 9 views
2

アンドロイドでは、onSaveInstanceState(Bundle outState)を使用してアクティビティのインスタンス状態を保持しています。`Bundle savedInstanceState`の範囲は何ですか

これを正しく実装するには、に格納されているすべての変数に対して、の一意の文字列キーが必要です。

私はこの文字列を作るのにどれだけユニークなのか不思議です。したがって、すべてのキーが&活動がを名前空間アプリケーションでなければなりません -

1)は、すべてのアクティブな活動にアンドロイドOSを経由して伝播さBundleですか?
(例えばcom.twitter.www.mobile.LOGIN_ACTIVITY.is_logged_in

2)だけではすべてのキーのみアプリケーションはを名前空間する必要があり、したがってcalled-された活性によってアクセスBundleか?
(例えばcom.twitter.www.mobile.is_logged_in

+0

あなたの提案は、アクティビティの正規名の後ろに変数名をつけて、混乱することはありません。 – m0skit0

答えて

2

特定Fragment又はActivityバンドルのみFragment又はActivityそのユニークです。それらはアプリケーション全体に伝播されません。混乱を避けるために、あなたのキーと変数には冗長であることが常に良いですが、別のアクティビティやフラグメントから間違ったインスタンス状態バンドルやキー/値ペアにアクセスする心配はありません。

関連する問題