質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

解決済

1回答

765閲覧

画面を記憶し、その内容を表示したい

Taka787

総合スコア23

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2020/08/18 06:26

編集2020/08/28 01:56

実現したいこと

kotlinでアクティビティが破棄されたときに特定の画面をを保存・復元したいのですが、以下のサイトを参考にしますが、値の復元の例のみで画面の復元の例がなくどのように実装すればよいかわかりませんでした。現状、保存はうまくいかず、トップ画面に戻ってしまいます。ご教授いただけると幸いです。
https://developer.android.com/guide/components/activities/activity-lifecycle?hl=ja#saras
以下、一部コードです。

kotlin

1 override fun onSaveInstanceState(outState: Bundle) { 2 sleep_flag = true 3 4 outState?.run { 5 6 } 7 8 if (outState != null) { 9 super.onSaveInstanceState(outState) 10 } 11 } 12 13 override fun onRestoreInstanceState(savedInstanceState: Bundle?) { 14 15 super.onRestoreInstanceState(savedInstanceState) 16 17 savedInstanceState?.run { 18 19 } 20 }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nakasho_dev

2020/08/20 16:58

[質問するときのヒント](https://teratail.com/help/question-tips)を良く読んで、現状の課題を整理しましょう。 保存は上手くいっているのでしょうか? checkが何者か分かりませんしそもそもPutした際のKeyが分かりません。 また、画面の復元とおっしゃっていますが、復元に限らずコードから動的に画面を生成、または、変更する方法はご存じなのでしょうか。
Taka787

2020/08/28 02:12

修正致しました。 初心者の為、動的に画面を生成、または、変更する方法は存じ上げません
nakasho_dev

2020/08/29 17:57

初心者なのは誰でも通る道なので構わないのですが、[質問するときのヒント]( https://teratail.com/help/question-tips )に『1-2. 投稿前に検索し、できるところまで自分でやってみましょう』という説明があります。動的に生成する方法はちゃんと調べたのでしょうか?調べたのであれば、調べたURLや見つからなかった場合は調べたキーワードを記述すると、良いアドバイスがもらえるかもしれません。
guest

回答1

0

ベストアンサー

ご自身で提示されたURLにも解決方法が書いてあります。

以下は[onCreateのセクション]にあるコード(https://developer.android.com/guide/components/activities/activity-lifecycle?hl=ja#oncreate)

Kotlin

1lateinit var textView: TextView 2 3// some transient state for the activity instance 4var gameState: String? = null 5 6override fun onCreate(savedInstanceState: Bundle?) { 7 // call the super class onCreate to complete the creation of activity like 8 // the view hierarchy 9 super.onCreate(savedInstanceState) 10 11 // recovering the instance state 12 gameState = savedInstanceState?.getString(GAME_STATE_KEY) 13 14 // set the user interface layout for this activity 15 // the layout file is defined in the project res/layout/main_activity.xml file 16 setContentView(R.layout.main_activity) 17 18 // initialize member TextView so we can manipulate it later 19 textView = findViewById(R.id.text_view) 20} 21 22// This callback is called only when there is a saved instance that is previously saved by using 23// onSaveInstanceState(). We restore some state in onCreate(), while we can optionally restore 24// other state here, possibly usable after onStart() has completed. 25// The savedInstanceState Bundle is same as the one used in onCreate(). 26override fun onRestoreInstanceState(savedInstanceState: Bundle?) { 27 textView.text = savedInstanceState?.getString(TEXT_VIEW_KEY) 28} 29 30// invoked when the activity may be temporarily destroyed, save the instance state here 31override fun onSaveInstanceState(outState: Bundle?) { 32 outState?.run { 33 putString(GAME_STATE_KEY, gameState) 34 putString(TEXT_VIEW_KEY, textView.text.toString()) 35 } 36 // call superclass to save any view hierarchy 37 super.onSaveInstanceState(outState) 38}

onRestoreInstanceStateで記述している方法で対応できないでしょうか。

投稿2020/08/29 17:53

nakasho_dev

総合スコア2655

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問