問題タブ [onrestoreinstancestate]
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のドキュメントは次のように述べています:
「ユーザーではなくシステムがメモリを節約するためにアクティビティをシャットダウンすると、...」
しかし、この状況をシミュレートする方法は?メソッドをデバッグしたいのですが、onRestoreInstanceState(Bundle)
方法がわかりません。
android - Android アクティビティのライフサイクル
アクティビティが回復したときに最初に呼び出されるのは? onRestoreInstanceState
またはonActivityResult
?
android - src を動的に変更した後に Android イメージの状態を保存する
私は Android アプリケーションを開発しています。ここでは、ページに imageView があり、onLongClick でイメージ A からイメージ B に変更されます。ただし、ページを離れると、imageView はイメージ A に戻ります。状態を保存するにはどうすればよいですかその onpause、stop、および destroy が実行されるため、ImageView の現在のイメージ src が保存され、次にページにアクセスして作成されたときにロードされます。Androidでのデータ保存はしたことがありません。
簡単なデータ保存のチュートリアル/例は大歓迎です。
android - onRestoreInstanceState はいつ呼び出されますか?
理解できなくて申し訳ありませんが、私はアンドロイド開発の初心者です。
アクティビティ A とアクティビティ B を含むアプリケーションがあり、アクティビティ A からアクティビティ B に移動します。アクティビティ A を離れると、onSaveInstanceState
メソッドが呼び出されましたが、アクティビティ A に戻ると (同じアプリケーションのアクティビティ B から) )、onCreate
メソッドのバンドルが null でした。
アクティビティ A の以前の状態を保存するにはどうすればよいですか? アプリケーションの有効期間中だけデータを保存したい。
誰かがこれで私を助けることができますか?
アクティビティ A のコードは次のとおりです。
ボタンを押してアクティビティ A に戻るときのアクティビティ B のコードを次に示します。
android - フラグメントは、向きが変更されたときに状態を復元します
アプリに「標準」フラグメント ナビゲーションを実装する必要があります (リンクを参照してください)。
問題は、デバイスが縦向きモードの場合は 1 つのフラグメントのみが表示され、横向きモードに回転すると 2 つのフラグメントが表示されるはずです。
私はこれを2つの異なる方法でやろうとしました:
1) 縦向きと横向きのレイアウトが異なるアクティビティを 1 つだけ使用します。
縦向きレイアウト xml:
そして、ここに横向きのレイアウトがあります:
アクティビティの onCreateメソッド:
そして、それが2番目のフラグメントをリフレッシュする方法です:
また、フラグメントの状態を保存して復元するので、ローテーション後にデータが消えることはありません。通常、このコードは私の場合は正しく機能します。
2) 2 つのアクティビティを使用し、最初のアクティビティの縦向きモードと横向きモードに同じレイアウトを使用します。
xml レイアウトは、ランドスケープの前のものと同じです。
onCreateメソッド (最初のケースのように、フラグメント エンティティは静的ではないことに注意してください): private ItemsFragment mItemsFragment; プライベート ItemDetailsFragment mItemDetailsFragment;
デバイスが縦向きモードの場合は、新しいアクティビティを開始します。
そして最後に、2 番目のアクティビティのonCreateメソッド:
デバイスが横向きモードに回転すると、2 番目のアクティビティが終了し、1 番目のアクティビティに 2 つのフラグメントが表示されます (予想どおり)。
質問:
最初のケースでは、フラグメントを静的変数として保存します。このため、ポートレート モードまたはランドスケープ モードで 2 番目のフラグメントの状態を変更してもかまいません (同じフラグメントが使用されます)。しかし、静的フィールドとして保存するのは良い考えではないと思います。
2 番目のケースでは、Activity A Fragment B (横向き) と Activity B Fragment B (縦向き) を同期する方法がわかりません。フラグメントで何かを変更して (つまり、トグル ボタンなど)、デバイスを回転させると、別のフラグメントに変更を適用する必要があります。
一般的に、どのケースが良いですか? また、2 番目の場合、どうすれば同期の問題を解決できますか? または、別の簡単な方法があるかもしれません。読んでくれてありがとう、あなたが私を助けてくれることを願っています:)
android - SaveInstanceState で属性とリスターを処理する方法
Android アプリを作成していますが、SaveInstanceState() を実装していないため、ダイアログを回転するとクラッシュします。文字列やプリミティブなどの単純なオブジェクトを保存および復元することは、かなり簡単に思えます。しかし、Context、AttributSet、いくつかのリスナーなどのより複雑なオブジェクトも保存したいと思いますか? どうすればそれを処理できますか?私には、それらは実際にはバンドルに収まるようには見えません。助けていただければ幸いです:)
android - Android カスタム複合ビューの保存と復元の状態が機能しない
解決...
他のコントロールを含む複合ビューがあります。onSaveInstanceState
saveとをオーバーライドしようとしていますonRestoreInstanceState
が、奇妙な結果が得られます。
へのParcelable state
引数onRestoreInstanceState
は、 のカスタム サブクラスではなく、BaseSavedState
常にのSavedState
ようですBaseSavedState.EMPTY_STATE
。(以下の「常に失敗する」コードのコメントを探してください...
SavedState.writeToParcel
の後に呼び出されていないため、問題は保存部分にある可能性が高いonSaveInstanceState enters.
ようonSaveInstanceState
ですParcel
.
違いがある場合、このビューはフラグメント内でホストされます。
何か案は?
これが私のクラス定義です:
これが私のonSaveInstanceState
とのonRestoreInstanceState
ペアです:
これが私のカスタムBaseSavedState
サブクラス(の内部クラスAddressInput
)です: