私はボタンをクリックしてビューを膨らませているので、ユーザーは好きなだけ多くのビューを追加できます。 1つのアクティビティに戻って、動的に生成されたアクティビティに再度アクセスすると、生成されたすべてのビューがなくなります。私が次の活動に行き、膨張した活動に戻った場合も同様です。私はonSaveInstance
とonRestoreSaveInstance
について知っています。しかし、onSaveInstanceState
のビュー情報をバンドルに入れるにはどうすればいいですか?私のビューはダイナミックに生成されたことに注意してください。ボタン上でクリックしてください。自分のアクティビティの状態を保持する方法を知りたいと思います。 どうやってそれに行きますか?アクティビティ間を行き来するときに動的に生成されたビューのインスタンスを保存する
答えて
あなたはViews
の状態を復元するのに役立つ何らかのロジックを実装するべきだと考えています。だから、クラスを設計する必要があります。は、に追加できるように、Views
のタイプ、ディメンションなどを追加します。このクラスはParcelable
を実装する必要があります。
View
を追加するたび
ArrayList<ViewDetail>
、
myViews
はあなたがあなたの
myViews
アレイに追加新しい
ViewDetail
オブジェクトを作成していきます。その後、
そして、あなたのViews
を保存し、それらのオブジェクトを使用してそれらを復元:あなたのアプリケーションは、あなたがあなたがヒープメモリをオフ
を長期保存を提供する必要がnoticemせずに任意の時点で完全に殺されているよう
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
//save your view states
outState.putParcelableArrayList("MY_VIEWS",myViews);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
//get the views back...
myViews=savedInstanceState.getParcelableArrayList("MY_VIEWS");
//TODO: add the views back to your Activity
}
パーセルオブジェクトにビューを書き込むにはどうすればいいですか? –
お返事ありがとうございます、今すぐ試してみましょう。 –
アクティビティが終了した場合は、すべてのビューを復元する必要があります(いつでも可能です)。終了後に再度アクティブ化されると、onCreate()メソッド を通過します。これは、アクティビティ状態を復元するのに適切な場所です。
アプリケーション/アクティビティが破棄される前に呼び出されることが保証されているコールバックだけがonPause()です。これは、ビューステートを長期間のオフヒープストレージに保存するのに適しています。
私は戻ったときにダイナミックアクティビティが終了したと確信しています。ユーザーがヒットしたときにアクティビティを終了しない方法はありますか? –
これはメモリの状態によって異なります。メモリが足りない場合は、すぐに再度有効にするために一時停止されます。 (onResume()が呼び出されます)もう一つのケースはincommingコールです - これは優先順位を持ち、アクティビティを強制終了せずに一時停止します。さらに別の原因は、電話機の向きが変更されたときです。明示的に処理しない限り、アクティビティは強制終了され、再起動されます。そしてランチャーは、あなたがロックしようとしているときにあなたの活動をポートレートレイアウトに強制します –
- 1. Androidで自動生成されたGUIを保存するアクティビティ
- 2. Androidのアクティビティを保存する動的に作成されたレイアウトonPause
- 3. ListViewに動的に生成されたチェックボックス状態を保存する
- 4. は、異なるモデルが作成されたときにモデルのインスタンスを自動的に生成しますか?
- 5. 動的に生成されたビューをMVC3 Webアプリケーションのキャッシュに保存する方法は?
- 6. 自動的に生成されたアイコンを上書きする
- 7. データベースに設定が保存された動的フォーム生成
- 8. 生成時に自動的に保存されるドキュメント生成ソフトウェア
- 9. 動的に生成されたdivの状態を保存してCookie/LocalStorageで保存する
- 10. ポストタイプが保存されたときに実行する
- 11. サーバーディスクにレポート(PDF)を自動的に保存/生成する
- 12. 動的に生成されたファイルをダウンロードできるようにする
- 13. rebex sftpで動的に作成されたMemoryStreamを保存できません
- 14. どのように動的または生成されたHTMLページを保存可能にするには?
- 15. 動的に入力されたデータをplistに保存する
- 16. アンドロイド:動的に生成されたビューを加えなく
- 17. Jqueryによって動的に作成されたページを保存する
- 18. 動的に生成された文字列に、コマンドラインで指定されたファイル名を保存します。
- 19. iframeが生成され、jqueryから動的にロードされたときの動作を行う方法
- 20. 動的に生成されたCheckBox値を別のアクティビティに渡すと、Nullだけが返されますか?
- 21. C#Windowsフォーム - 動的に作成されたオブジェクトのデータを保存する
- 22. 生成されたPNGファイルをSQL Serverに保存する
- 23. PHPを使用して動的に生成されたXMLサイトマップを保存できません
- 24. 生成されたDetailsビューをviewModelに置き換えます。
- 25. androidで動的に作成されたビューを取得する
- 26. 動的に変更されたHTMLを保存する
- 27. アクティビティが隠されているときに動画を再生する
- 28. 別のアクティビティから追加したときにリストビューにアイテムを保存する
- 29. 実行時コンパイルで生成されたexeファイルを保存するには
- 30. Javaから動的に生成されたバッチファイルを実行できません
私はまだ解決策を探しています... –