問題タブ [onsaveinstancestate]
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 - onSaveInstanceState をオーバーライドした後、アプリがクラッシュし続ける
デバイスが回転した場合に一部のデータを保持するために onSaveInstanceState メソッドをオーバーライドする方法を理解するのに役立つコードがあります。
コードは非常に単純で、興味深いことは何もありません。2 つのボタンがあり、ユーザーがいずれかをクリックすると、両方が無効になります。ボタンが無効になった後、デバイスを回転させると、ボタンが再び有効になることを除いて、問題なく動作します。
onSaveInstanceState にオーバーライドを追加しましたが、回転でクラッシュします。何が間違っているのかわかりません。
コードは次のとおりです。
2 つのボタンがあります。
ボタンとブール値をパラメーターとして受け取るメソッドで、ボタンを切り替えることができます。
前のメソッドを使用して両方のボタンを無効にし、リスナーで呼び出されるメソッド:
ボタンのリスナー:
これはすべて正常に機能します。onSavedInstance のオーバーライドについては、次のとおりです。
2 つのキーと 2 つのブール値があります。ボタンごとに 1 つ:
次に、ボタンのいずれかが有効になっているかどうかを確認し、それに応じてブール値に値を割り当て、キーと一緒にキーと値のペアとして保存します。
最後に、スーパークラスを呼び出した後、空でないかどうかを確認します。そうでない場合は、各ブール値にそれぞれのキーに格納されている値を割り当て、ボタンを有効/無効にするメソッド内でブール値を使用します。
コードの構文に問題がないことを確認するために、ここにその完全性を示します。
java - 最初のアクティビティの値を保持し、2 番目のアクティビティから最初のアクティビティに戻ったときにそれらを確認する方法
最初のアクティビティで、テキスト ボックスにテキストを入力しました。
次に、「SAVE」ボタンを押すと、2 番目のアクティビティに移動します。
ここで、「戻る」ボタンを押すと、以前に入力した値/テキストが表示されない最初のアクティビティに戻ります。
共有設定も使用してみました。
これが私のコードです
MainActivity.java
Main2Activity.java
activity_main.xml
activity_Main2.xml
android - Android TextView onRestoreInstanceStateが間違った値を取得する
私のコードは次のようなものです:
in に渡すとmProgress
値は 60 になり、savedState
inonSaveInstanceState
で 0 になりonRestoreInstanceState
ます。
のコードを に変更すると、
savedState.mProgress = mProgress
でonSavedInstanceState
10savedState.mProgress = 10
になりonRestoreInstanceState
ます。
それはとても奇妙です。静的にするmProgress
と60になります。何が問題なのかわかりません。
android - アプリの更新後、アクティビティのライフサイクルはどうなりますか?
このシナリオを想定します。1 つのアクティビティでフォームに入力するアプリがあります。このアクティビティでは、 と を使用onRestoreInstanceState
しonSaveInstanceState
てフォームの応答を保存します。ユーザーがフォームにアプリ バージョン 1 を入力し、完了する前に PlayStore がアプリをバージョン 2 に自動的に更新してインストールした場合、フォームはどのバージョンで入力されましたか?
同じ質問ですが、ユーザーが更新を強制するとしますか?
ありがとう