問題タブ [instancestate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - onSaveInstanceState のオーバーライド
クラスのメソッド(クラスのonSaveInstanceState
メソッドではView
ありません)を理解しようとしています。そのメソッドは を返します。私は自分自身の状態を保存するために、そのメソッドから自分自身を派生させ、オーバーライドしました。しかし、状態を保存するときに例外が発生しました。Activity
Parcelable
View
ViewGroup
それは十分に真実ですが、単にそのメソッドを呼び出すだけでは十分ではないようです。では、これをどのように行うべきですか?メソッドParcel
に書き込み先が渡された場合、同じ区画をスーパークラスに渡すだけで、物事が順番に書き込まれます。しかし、これは戻り値です。
この返されたオブジェクトを独自のParcelable
表現のメンバーとして含めParcel.writeParcelable
、必要に応じて独自のデータと共にマーシャリングするために使用する必要がありますか? または、Parcelable オブジェクトの親の呼び出しとチェーンを処理するためのより良い方法はありますか? もしそうなら、スーパークラスのインスタンス状態をロードするとき、どのクラスローダーを使用すればよいですか?
android - IllegalStateException: onSaveInstanceState の後にこのアクションを実行できません - Android
上記の例外を除いて、Androidアプリが時々クラッシュする理由を理解しようとしています。logcat の内容から問題の原因を見つけることができません。
めったに起こりません。
Logcat の出力:
java.lang.IllegalStateException: android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1360) で onSaveInstanceState の後にこのアクションを実行できません android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1378) ) android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:595) で、android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:574) で、android.support.v4.app.FragmentTabHost で。 onAttachedToWindow(FragmentTabHost.java:282) で android.view.View.dispatchAttachedToWindow(View.java:12752) で android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2577) で android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java) :2584) android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2584) で android.view.ViewGroup.android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1192) で android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1427) で dispatchAttachedToWindow(ViewGroup.java:2584) android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl .java:6231) で Android.view.Choreographer$CallbackRecord.run(Choreographer.java:788) 560) android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:774) で android.os.Handler.handleCallback(Handler.java:808) で android.os.Handler.dispatchMessage(Handler.java:103) でandroid.os.Looper.loop(Looper.java:193) で android.app.ActivityThread.main(ActivityThread.java:5292) で java.lang.reflect.Method.invokeNative(Native Method) で java.lang.com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:824) での Reflect.Method.invoke(Method.java:515) com.android.internal.os.ZygoteInit.main(ZygoteInit.java: 640) dalvik.system.NativeStart.main (ネイティブ メソッド) で
主な活動:
android - トランザクション間でフラグメント インスタンスの状態を維持する
SO で見つけたすべての検索から、インスタンスの状態を@Override public void onSaveInstanceState(Bundle outState)
ただし、これはアクティビティのライフスタイルと密接に関連しています。
リストビューの状態を、別のフラグメントと交換されるフラグメントに保存するにはどうすればよいですか? すべてのフラグメントが読み込まれる 1 つのメイン アクティビティがあります。
私はこれまでにこれを試しました:
そして、私の OnCreate(); で
ただしsavedInstanceState
、常に null です。しかし、私の活動は破壊されたり再作成されたりしていないので、これは理にかなっています.
これは、あるフラグメントから別のフラグメントに移行する方法です。
フラグメントが削除されたときにリストビューの状態を保存し、フラグメントがバックスタックからポップされたときに再度復元する方法はありますか?
android - Androidのカスタムビューでインスタンスの状態を保存するには?
私は拡張するカスタムビューを持っていますLinearLayout
:
インスタンスの状態を保存して復元したいのですが、アクティビティのインスタンスの状態と異なります。
Androidのカスタムビューでインスタンスの状態を保存するには?