問題タブ [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.

0 投票する
2 に答える
4199 参照

android - Androidフラグメントが状態を保存していません

最近、アプリをアクティビティベースのアプリからフラグメントベースのアプリに変換しました。スコア保持アプリで、アクティビティの時は簡単にスコアの保存・復元ができました。ただし、それはフラグメントとして機能していないようです。これが私のコードです:

私は、try / catchを使用する場合と使用しないonRestoreInstanceState場合のアクティビティで、これとまったく同じコードを正常に使用しました。onActivityCreated問題は、バンドルから何かをプルしようとすると、nullポインタエラーが発生することです。ログに保存状態が表示され、次にonActivityCreatedが表示されますが、onActivityCreatedはonSavedInstanceStateによってバンドルに入れられたものを取得していないようです。を呼び出すすべての行でnullポインタを取得しますsavedInstanceState.getAnything()。しかし、私の読書から、、、、onCreateおよびonCreateViewすべてonActivityCreatedが同じバンドルを使用しています。コードを他の2つに移動しようとしましたが、うまくいきませんでした。

0 投票する
3 に答える
7156 参照

java - Android:アクティビティに戻るときにEditTextに値を保存する方法

ユーザーがアクティビティに戻ったときに入力されたコンテンツが入力されたままになるように、フォームに入力された値を保存しようとしています。今は機能しているので。ユーザーは詳細を入力して「送信ボタン」をクリックできます。次のアクティビティでは、ユーザーが入力した内容の詳細が表示されます。ユーザーが「戻るボタン」を選択すると、ユーザーは前のアクティビティを返しますが、フォームのフィールドからコンテンツが消去されます。任意の提案をいただければ幸いです。

2番目のアクティビティ......

0 投票する
1 に答える
166 参照

vim - mksessionでvimの状態を保存しても、Ctrl-6の状態は保存されません

:mksession mysavedsessionを使用してvimセッションを保存すると、Ctrl-6で表示される各vimウィンドウで開かれたスワップされたバッファーを除いて、関連するすべてのものが保存されます。

これに対する簡単な解決策はありますか?

0 投票する
0 に答える
286 参照

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 がタブホストを持ち、コードで設定されている通常のアクティビティです。

0 投票する
1 に答える
321 参照

android - フラグメントの状態を保存すると、パーセル可能なオブジェクトが原因で StackOverflow エラーが発生する

1 つのアクティビティで 2 つの異なるフラグメントを使用しています。フラグメントの 1 つはリストを含み、もう 1 つはリストの各要素の詳細ビューを含みます。アクティビティがフラグメントを作成すると、2 つのオブジェクトが新しいインスタンスのパラメーターとして渡されます。

これは、内部に多くのフィールド (BigIntegers、ArrayLists、Strings..) を持つ複雑なオブジェクトです。このオブジェクトは、フラグメントで使用するために Parcelable を実装しています。情報がフラグメントを介して渡される場合、データの解析には問題はありません。実際には、このオブジェクトは、フラグメント間でパラメーターとして渡すためではなく、状態を保存するためにパーセル可能である必要があると思います。

このオブジェクトは、メイン オブジェクトへの参照を含むオブジェクトのリスト内に含まれます。O1 をオブジェクト 1、O2 をオブジェクト 2 とすると、これは「グラフィカルな」説明になります。

O1:

  • BigInteger
  • 配列リスト
  • ....
  • 配列リスト

O2:

  • BigInteger
  • O1<-------- これは O1 オブジェクトへの参照です

(電話でホームをクリックして) アクティビティを終了し、状態を保存しようとすると、StarOverflow エラーが発生します。参照ではなくオブジェクト全体を保存しようとして、parcelable が無限ループに入ることに関連している可能性がありますか? Android でパーセル可能なオブジェクトを処理する際に、多くのトラブルに遭遇しました。

0 投票する
1 に答える
2650 参照

android - onSaveInstanceState/onRestoreInstanceStateおよびビューステート

onSaveInstanceStateのドキュメントによると:

デフォルトの実装は、UIのインスタンスごとの状態のほとんどを処理します

およびonRestoreInstanceState:

このメソッドのデフォルトの実装は、以前にフリーズされたビューステートの復元を実行します

それが何を意味するのか正確にはわかりません。殺されて復元された後に戻ったときに、ユーザーに表示されるUI画面がすべてのデータとともに自動的に復元されることを意味しますか?もしそうなら、私はそれを見ていません。自分でsetContentViewを実行しない限り、表示されるのは空の画面だけです。

私は意味を誤解していますか?

0 投票する
2 に答える
779 参照

android - onSaveInstanceStateは常に呼び出されます

私は他のみんなとは逆の問題を抱えているようです。:)

あるアクティビティから次のアクティビティに移動するたびに、onSaveInstanceStateが呼び出されます。LogCatにチェックインしましたが、アクティビティが強制終了されるわけではありません。また、戻ったときにonRestoreInstanceStateが呼び出されないため、まだメモリ内にあるはずです。

記憶を解放するときや向きを変えるときにだけ呼び出されると思いました。

0 投票する
2 に答える
1653 参照

android - 動的に作成されたeditTextsの状態を保存する方法

EditTextsの状態を画面の向きで保存する方法に固執しています。現在、テキストがEditTextsに入力され、画面が方向付けられている場合、フィールドは(予想どおりに)ワイプされます。

私はすでにonSaveInstanceStateを呼び出して文字列を保存していますが、コードで作成されたEditTextを保存し、アクティビティを再描画するときにそれらを取得してEditTextに追加する方法がわかりません。

私のコードの抜粋:

私の主な活動は次のとおりです。

ボタンがクリックされるまで、これらの値で何もする必要はありません。それらがListViewであるとしたら、もっと簡単でしょうか。それでも、それらを保存してローテーションで取得するという問題がまだあると思います。それが文字列であるオブジェクトmを持っているのに役立つなら、[][]私は一時的にそれらを何らかの方法で保存することができます

0 投票する
1 に答える
1746 参照

android - フラグメント A からフラグメント B への変更時にフラグメントの状態を保存する

フラグメントAとフラグメントBがあります。

フラグメント A では、いくつかのビューをコンテナー内にインフレーションします。次に、フラグメント B に変更し、フラグメント A に切り替えると、膨張するビューがなくなり、このビュー内のデータが失われます。

誰が問題が何であるか知っていますか?お時間いただきありがとうございます。

ここに画像の説明を入力

0 投票する
2 に答える
999 参照

android - コンテナーの状態を保存する (LinearLayout)

私は2つのフラグメントを持っています。

最初のフラグメントには、フラグメントのビューに静的なコンテナー (LinearLayout) があります。このコンテナでは、いくつかのビューのインフレを行います。

2 番目のフラグメントに変更しましたが、最初のフラグメントに戻ると、膨張したビューが消えました。

コンテナの状態を保存するにはどうすればよいですか? 誰かが私に例を与えることができますか?助けてくれてありがとう

ここに画像の説明を入力