問題タブ [savestate]
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 - Androidフラグメントが状態を保存していません
最近、アプリをアクティビティベースのアプリからフラグメントベースのアプリに変換しました。スコア保持アプリで、アクティビティの時は簡単にスコアの保存・復元ができました。ただし、それはフラグメントとして機能していないようです。これが私のコードです:
私は、try / catchを使用する場合と使用しないonRestoreInstanceState
場合のアクティビティで、これとまったく同じコードを正常に使用しました。onActivityCreated
問題は、バンドルから何かをプルしようとすると、nullポインタエラーが発生することです。ログに保存状態が表示され、次にonActivityCreatedが表示されますが、onActivityCreatedはonSavedInstanceStateによってバンドルに入れられたものを取得していないようです。を呼び出すすべての行でnullポインタを取得しますsavedInstanceState.getAnything()
。しかし、私の読書から、、、、onCreate
およびonCreateView
すべてonActivityCreated
が同じバンドルを使用しています。コードを他の2つに移動しようとしましたが、うまくいきませんでした。
java - Android:アクティビティに戻るときにEditTextに値を保存する方法
ユーザーがアクティビティに戻ったときに入力されたコンテンツが入力されたままになるように、フォームに入力された値を保存しようとしています。今は機能しているので。ユーザーは詳細を入力して「送信ボタン」をクリックできます。次のアクティビティでは、ユーザーが入力した内容の詳細が表示されます。ユーザーが「戻るボタン」を選択すると、ユーザーは前のアクティビティを返しますが、フォームのフィールドからコンテンツが消去されます。任意の提案をいただければ幸いです。
2番目のアクティビティ......
vim - mksessionでvimの状態を保存しても、Ctrl-6の状態は保存されません
:mksession mysavedsessionを使用してvimセッションを保存すると、Ctrl-6で表示される各vimウィンドウで開かれたスワップされたバッファーを除いて、関連するすべてのものが保存されます。
これに対する簡単な解決策はありますか?
android - Android アプリケーションの奇妙な再起動
それがどのように機能するかを誤解している可能性がありますが、何か奇妙なことが起こっています。
メインのアクティビティは「MainMenuActivity」で、そこからサブメニューを呼び出します。そこから、ユーザーはオプションを選択してデータを取得し、そのデータを拡大できます。
つまり、事実上、A -> B -> C -> D のチェーンがあります。
次に、電話をかけてアプリケーションを強制的に終了させます。logcat は、アプリケーションが停止していることを明確に示しています。アクティビティを再起動すると、アクティビティでタイムアウトが発生します。logcat は次のようになります。
MenuScreenActivity は、上記の「B」です。PrescriptionsListScreen は「C」です。MedicinePurchasesListScreen は「D」です。
D に Log コマンドを追加しましたが、"onSaveInstanceState" および "onRestoreInstanceState" メソッドに到達しません。
「C」に戻って「onRestore」に戻ったようですが、バンドルにゴミがあります。ビュー構造は再構築されません。
ビューが再構築されていないため、「C」で NullPointerException が発生します。
そうでないことを確認するために、ビューの現在の内容の完全なツリーを出力する Log コマンドを追加しました。Cの「onSave」の前は問題ありませんが、「onRestore」が実行された後は空です。
私は間違いなく「onSave」と「onRestore」の「スーパー」を呼び出しています。
============================================
編集:「onSaveInstanceState」の最後と「onRestoreInstanceState」の開始時に、savedInstance の内容をログに記録しました。
これは私が得たものです。
保存:
戻す:
ご覧のとおり、「viewHierarchyState」バンドルは同じではありません。ただし、物事が機能する他の画面ではそうです。
この画面と他の画面の唯一の違いは、画面のコンテンツが TabHost であることです。ただし、これは TabActivity ではありません。これは、XML がタブホストを持ち、コードで設定されている通常のアクティビティです。
android - フラグメントの状態を保存すると、パーセル可能なオブジェクトが原因で StackOverflow エラーが発生する
1 つのアクティビティで 2 つの異なるフラグメントを使用しています。フラグメントの 1 つはリストを含み、もう 1 つはリストの各要素の詳細ビューを含みます。アクティビティがフラグメントを作成すると、2 つのオブジェクトが新しいインスタンスのパラメーターとして渡されます。
これは、内部に多くのフィールド (BigIntegers、ArrayLists、Strings..) を持つ複雑なオブジェクトです。このオブジェクトは、フラグメントで使用するために Parcelable を実装しています。情報がフラグメントを介して渡される場合、データの解析には問題はありません。実際には、このオブジェクトは、フラグメント間でパラメーターとして渡すためではなく、状態を保存するためにパーセル可能である必要があると思います。
このオブジェクトは、メイン オブジェクトへの参照を含むオブジェクトのリスト内に含まれます。O1 をオブジェクト 1、O2 をオブジェクト 2 とすると、これは「グラフィカルな」説明になります。
O1:
- 弦
- BigInteger
- 配列リスト
- ....
- 配列リスト
O2:
- BigInteger
- O1<-------- これは O1 オブジェクトへの参照です
(電話でホームをクリックして) アクティビティを終了し、状態を保存しようとすると、StarOverflow エラーが発生します。参照ではなくオブジェクト全体を保存しようとして、parcelable が無限ループに入ることに関連している可能性がありますか? Android でパーセル可能なオブジェクトを処理する際に、多くのトラブルに遭遇しました。
android - onSaveInstanceState/onRestoreInstanceStateおよびビューステート
onSaveInstanceStateのドキュメントによると:
デフォルトの実装は、UIのインスタンスごとの状態のほとんどを処理します
およびonRestoreInstanceState:
このメソッドのデフォルトの実装は、以前にフリーズされたビューステートの復元を実行します
それが何を意味するのか正確にはわかりません。殺されて復元された後に戻ったときに、ユーザーに表示されるUI画面がすべてのデータとともに自動的に復元されることを意味しますか?もしそうなら、私はそれを見ていません。自分でsetContentViewを実行しない限り、表示されるのは空の画面だけです。
私は意味を誤解していますか?
android - onSaveInstanceStateは常に呼び出されます
私は他のみんなとは逆の問題を抱えているようです。:)
あるアクティビティから次のアクティビティに移動するたびに、onSaveInstanceStateが呼び出されます。LogCatにチェックインしましたが、アクティビティが強制終了されるわけではありません。また、戻ったときにonRestoreInstanceStateが呼び出されないため、まだメモリ内にあるはずです。
記憶を解放するときや向きを変えるときにだけ呼び出されると思いました。
android - 動的に作成されたeditTextsの状態を保存する方法
EditTextsの状態を画面の向きで保存する方法に固執しています。現在、テキストがEditTextsに入力され、画面が方向付けられている場合、フィールドは(予想どおりに)ワイプされます。
私はすでにonSaveInstanceStateを呼び出して文字列を保存していますが、コードで作成されたEditTextを保存し、アクティビティを再描画するときにそれらを取得してEditTextに追加する方法がわかりません。
私のコードの抜粋:
私の主な活動は次のとおりです。
ボタンがクリックされるまで、これらの値で何もする必要はありません。それらがListViewであるとしたら、もっと簡単でしょうか。それでも、それらを保存してローテーションで取得するという問題がまだあると思います。それが文字列であるオブジェクトmを持っているのに役立つなら、[][]私は一時的にそれらを何らかの方法で保存することができます
android - フラグメント A からフラグメント B への変更時にフラグメントの状態を保存する
フラグメントAとフラグメントBがあります。
フラグメント A では、いくつかのビューをコンテナー内にインフレーションします。次に、フラグメント B に変更し、フラグメント A に切り替えると、膨張するビューがなくなり、このビュー内のデータが失われます。
誰が問題が何であるか知っていますか?お時間いただきありがとうございます。
android - コンテナーの状態を保存する (LinearLayout)
私は2つのフラグメントを持っています。
最初のフラグメントには、フラグメントのビューに静的なコンテナー (LinearLayout) があります。このコンテナでは、いくつかのビューのインフレを行います。
2 番目のフラグメントに変更しましたが、最初のフラグメントに戻ると、膨張したビューが消えました。
コンテナの状態を保存するにはどうすればよいですか? 誰かが私に例を与えることができますか?助けてくれてありがとう